Есть ответ 👍

Имеется три , , надо решить , этого не знаю( 1. получить двоичную форму внутреннего представления целого числа в 2-х байтовой ячейке. (число 1450) 2. получить шестнадцатеричную форму внутреннего представления целого числа в 2-х байтовой ячейке. (число -1450) 3. по шестнадцатеричной форме внутреннего представления целого числа в 2-х байтовой ячейке восстановить само число. (f67d) нужно с решением, зараннее .)

236
364
Посмотреть ответы 2

Ответы на вопрос:


1) для перевода из 10-й в двоичную 2-ую систему счисления нужно число в десятичной системе разделить на 2 и записать остаток , затем тоже самое сделать с целой часть и повторять пока не останется только 1 или 0. конечное числом будут остатки записанные в обратном порядке.

1450/ 2 = 725 остаток 0

725 / 2 = 362 остаток 1

362 / 2 = 181 остаток 0

181 / 2 = 90 остаток 1

90 / 2 = 45 остаток 0

45/ 2 = 22 остаток1

22/2 = 11 остаток 0

11/ 2 = 5 остаток 1

5 / 2 = 2 остаток 1

2 / 2 = 1 остаток 0

1 / 2 = 0 остаток 1

 

результат: 10110101010

 

в 2-х байтовой ячеке всего 16 разрядов, а в наше числе 11 , значит спереди нужно дописать 5 нулей и получим нужное представление

0000010110101010

 

2)

для перевода в 16 систему нужно сначало перевести в 2-ю систему счисления, потом записать обратный код, почитать дополнительный и тогда перевести в 16-ю

вот 1450 в 2-й системе

0000010110101010

обратный код это код в котором все 0 заменены на 1, а 1 на 0

1111101001010101

чтобы получит дополнительный код нужно прибавить 1

1111101001010110

теперь смотрим по 4 разряда и заменяем 1 символом в 16 системе счисления

1111 = f

1010 = a

0101 = 5

0110 = 6

искомое число fa56

3)

  для перевода из 16 в 2 систему счисления нужно каждую цифру числа умножит на 16 в степень равным номеру цифры(справа на лево, отсчет с 0)

f67d(в 16 системе счисления) = 15 * 16 ^3 + 6 * 16 ^2 + 7 * 16^1 + 13 * 16 ^0 = 61440 + 1536 + 112 + 13 = 63101(в 10 системе счисления)

 

 


Var       f: integer; begin       readln(f);             if f > 3 then f : = f - 5       else if f = 3 then f : = f - 2       else f : = f + 1;             writeln(f); end.

Популярно: Информатика