С решением, заранее Представить два числа в прямом, обратном и дополнительном 8-разрядном кодах: 10 и -15.
2. Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a) 0000110100001001; b) 1001110011000000;
3. Решить в 8-разрядных дополнительных кодах пример: 15-10=? ответ записать в дополнительном коде и перевести в десятичную СС.
4. Вычесть и разделить два числа, записанных в экспонициальной форме: 0,08Е2 и 0,4Е1. Результат представить в нормализованной форме.
5. Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: 15,25
если не ошибаюсь то вот так 10÷15 арифмитическое 00001101
Объяснение:
0000110100001001
10 = 00001010
Чтобы представить число -15 в 8-разрядном прямом коде, мы записываем его в двоичной системе счисления с учетом знака:
-15 = 10001111
Чтобы представить число 10 в 8-разрядном обратном коде, мы инвертируем все биты числа 10 в двоичной системе счисления:
10 = 00001010 (прямой код)
11110101 (обратный код)
Чтобы представить число -15 в 8-разрядном обратном коде, мы инвертируем все биты числа -15 в двоичной системе счисления с учетом знака:
-15 = 10001111 (прямой код)
11110000 (обратный код)
Чтобы представить число 10 в 8-разрядном дополнительном коде, мы инвертируем все биты числа 10 в двоичной системе счисления и прибавляем 1:
10 = 00001010 (прямой код)
11110101 (обратный код)
11110110 (дополнительный код)
Чтобы представить число -15 в 8-разрядном дополнительном коде, мы инвертируем все биты числа -15 в двоичной системе счисления с учетом знака и прибавляем 1:
-15 = 10001111 (прямой код)
11110000 (обратный код)
11110001 (дополнительный код)
2.
a) Чтобы найти десятичное число, соответствующее данному дополнительному коду, мы проверяем знак (самый левый бит). Если он равен 0, это положительное число и мы записываем остальные биты в двоичной системе счисления:
0000110100001001 = 11010001001.
Если знак равен 1, это отрицательное число. Для получения его десятичного значения, мы инвертируем все биты, кроме самого левого, и прибавляем 1:
0000110100001001 = 11010001001
00101110110 (инвертирование)
00101110111 (прибавление 1)
-478.
b) 1001110011000000 = -43456
3. Чтобы решить задачу в 8-разрядных дополнительных кодах, представим каждое число в дополнительной форме:
15 = 00001111 (прямой код)
00001111 (обратный код)
00001111 (дополнительный код)
10 = 00001010 (прямой код)
00001010 (обратный код)
00001010 (дополнительный код)
Теперь вычтем 10 из 15 в дополнительном коде:
00001111 (15)
- 00001010 (10)
00000101 (5)
Ответ 5 в 8-разрядном дополнительном коде равен 00000101.
Чтобы перевести дополнительный код обратно в десятичную систему счисления, мы проверяем знак. Если самый левый бит равен 0, это положительное число и мы записываем остальные биты в двоичной системе счисления. Если самый левый бит равен 1, это отрицательное число. Для получения его десятичного значения, мы инвертируем все биты, кроме самого левого, и прибавляем 1.
00000101 = 5
4.
Для вычитания и деления чисел, записанных в экспоненциальной форме, нам нужно привести их к одному порядку.
0,08Е2 = 0,08 * 10^2 = 8
0,4Е1 = 0,4 * 10^1 = 4
Вычитание: 8 - 4 = 4
Деление: 8 / 4 = 2
Результат в нормализованной форме: 2.
5.
Чтобы представить десятичное вещественное число 15,25 в 4-байтном формате с плавающей запятой, мы используем стандарт IEEE 754.
Сначала представим его в двоичной форме:
15,25 = 1111,01 (двоичная форма)
Далее используем формулу для представления чисел в формате IEEE 754:
(-1)^s * M * 2^E
где s - знак числа (0 для положительного и 1 для отрицательного), M - мантисса (двоичная запись числа без целой части и без запятой), E - экспонента (смещенное на биас значение степени в двоичной форме).
Размер 4-байтного формата с плавающей запятой включает 1 бит для знака, 23 бита для мантиссы и 8 бит для экспоненты (включая биас).
Таким образом, переведем число 15,25 в указанный формат.
1. Пояснения
Первым делом, определим знак числа. В данном случае, число положительное, поэтому s (знак) равен 0.
2. Мантисса
Число 1111,01 имеет двоичную запись без целой части и без запятой:
M = 11101
3. Экспонента
Для нормализации числа, сдвигаем его влево до тех пор, пока перед запятой не окажется только единица. Считаем количество сдвигов, чтобы получить выбранный порядок.
1111,01 -> 1,11101 * 2^3
Теперь приводим сдвинутую мантиссу к нормализованной форме,
M = 11101000000000000000000
4. Экспонента (биас)
Для 4-байтного формата с плавающей запятой и биасом в 127 для экспоненты, добавляем биас к сдвинутой экспоненте и записываем в двоичной форме:
3 + 127 = 130 = 10000010
5. Составляем итоговое представление числа:
s = 0 (знак)
E = 10000010 (экспонента)
M = 11101000000000000000000 (мантисса)
Число 15,25 в 4-байтном формате с плавающей запятой будет записано как:
01000001011101000000000000000000