Предмет: Информатика,
автор: Roman230898
29 or -49
высчитать
pascal
По возможности объяснить, как высчитать это с помощью калькулятора, ибо паскаль выдает 223, а калькулятор -33.
Ответы
Автор ответа:
0
Все зависит от типа переменных!
var a: smallint;
var b: integer;
var c: cardinal;
var d: byte;
begin
a := 29 or -49;
b := 29 or -49;
c := 29 or -49;
d := 29 or -49;
writeln('smallint: ', a);
writeln('integer: ', b);
writeln('cardinal: ', c);
writeln('byte: ', d);
end.
smallint: -33
integer: -33
cardinal: 4294967263
byte: 223
var a: smallint;
var b: integer;
var c: cardinal;
var d: byte;
begin
a := 29 or -49;
b := 29 or -49;
c := 29 or -49;
d := 29 or -49;
writeln('smallint: ', a);
writeln('integer: ', b);
writeln('cardinal: ', c);
writeln('byte: ', d);
end.
smallint: -33
integer: -33
cardinal: 4294967263
byte: 223
Автор ответа:
0
да при чем тут разрядности... Дело в том, что мне нужно просто понять, как именно паскаль высчитал, что 29 OR -49 будет 223, а калькулятор выдал -33
Автор ответа:
0
4294967263 and 255 и будет как раз 223
Автор ответа:
0
Если тип переменной - беззнаковое целое разрядностью 8 бит (byte).
Автор ответа:
0
Вот при чем тут разрядности.
Похожие вопросы
Предмет: Українська мова,
автор: beilykovapolina
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: mmmmmm38
Предмет: Литература,
автор: Лика1906
Предмет: Математика,
автор: ден253