В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
София240905
София240905
05.06.2021 03:16 •  Информатика

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

Ответ:
sashatims
sashatims
07.10.2020 16:33
Переменные типа shortint хранят данные в дополнительном коде. Разрядность - 8 бит, диапазон представления данных -128₁₀ - 127₁₀, самый левый бит - знаковый.
Переменные типа byte хранят данные в прямом коде. Разрядность 8 бит, диапазон представления данных 0 - 255₁₀, знаковый бит отсутствует.

Число 29₁₀ = 00011101₂ и в таком виде оно помещается в shortint.
Число -49₂ = -00110001₂ и оно помещается в shortint в дополнительном коде как 11001111₂
Операция or в языке Pascal осуществляется поразрядно.
    00011101
∨ 11001111

    11011111
Эта последовательность бит, если её рассматривать как shortint, соответствует числу -33 в дополнительном коде.
Но если её переписать в восьмибитное поле, рассматриваемое как беззнаковое целое (т.е. тип byte), ее значение будет равно 223₁₀
0,0(0 оценок)
Ответ:
misha081
misha081
07.10.2020 16:33
Все зависит от типа переменных!

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,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?