Предмет: Информатика, автор: Roman230898

29 or -49
высчитать
pascal
По возможности объяснить, как высчитать это с помощью калькулятора, ибо паскаль выдает 223, а калькулятор -33.

Ответы

Автор ответа: Змей24
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


Автор ответа: Roman230898
0
да при чем тут разрядности... Дело в том, что мне нужно просто понять, как именно паскаль высчитал, что 29 OR -49 будет 223, а калькулятор выдал -33
Автор ответа: Змей24
0
4294967263 and 255 и будет как раз 223
Автор ответа: Змей24
0
Если тип переменной - беззнаковое целое разрядностью 8 бит (byte).
Автор ответа: Змей24
0
Вот при чем тут разрядности.
Похожие вопросы
Предмет: Українська мова, автор: beilykovapolina
Предмет: Литература, автор: Лика1906
Предмет: Математика, автор: ден253