Читайте также:
|
|
![]() | ||||||||||
![]() | ||||||||||
![]() | ![]() | |||||||||
![]() | ||||||||||
Задание 3. Запишите прямые коды чисел, интерпретируя их как шестнадцатибитовые целые со знаком.
Вариант№4
Число 1:24510= 111101012
Число 2:-11110=0110 11112
Задание 4. Запишите дополнительные коды чисел, интерпретируя их как шестнадцатибитовые целые со знаком.
Вариант№4
Число 1: 9210=10111002=0,111101101101100111002
Число 2: -11910= -11101112=1,0111100001111101000012
Пример:Вариант 4/Число 2
Представим число -1110111 в двоичном коде.
1110111 = 1000011110000010111112
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 100001111000001011111 имеет обратный код 1,011110000111110100000
Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
В итоге получаем:
21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Число -1110111 представляется в двоичном дополнительном коде как 1,011110000111110100001
Задание 5. Запишите в десятичной системе счисления целые числа, если даны их дополнительные коды.
Вариант№4
Число 1: 01110111=1000011110000010111112=011110000111110100002
Число 2: 11110111 = 1010100110000110110111112=0101011001111001001000002
Задание 6. Запишите код действительного числа, интерпретируя его как 32-битный код с плавающей точкой с сохранением порядка.
Вариант№4
Число 1: 211,2210=11010011.00112=1,101*27=1112
Число 2: -0,913110= 0.111010011102 = 1,1112*2-1= -17/3,47/-116
Задание 7. Запишите код действительного числа, интерпретируя его как 32-битный код с плавающей точкой с сохранением смещения.
Вариант№4
Число 1: 28,76810=41E624DD16
Число 2: -0,711910= -0.B63FBBD7B216
Пример:Вариант 4/Число 1
Задание 8. Преобразуйте в число 32-битный код с плавающей точкой с сохранением порядка.
Вариант№4
Число 1: 230300C516= 001000110000001100000000110001012= 57,03210/39.083126E978D416
Число 2: E55A952716 = 111001010101101010010101001001112=386.045C680B62613/617.0263824543110
Пример:Вариант 4/Число 1
Задание 9. Преобразуйте в число 32-битный код с плавающей точкой с сохранением смещения.
Вариант№4
Число 1: 659720BB16= 11001011001011100100000101110112=4ECB2E4116
Число 2: ED21046616= 111011010010000100000100011001102= 4F6D210416
Пример:Вариант 4/Число 1
Представление двоичного числа с плавающей точкой в экспоненциальном нормализованном виде.
Сдвинем число на 30 разрядов вправо. В результате мы получили основные составляющие экспоненциального нормализованного двоичного числа:
Мантисса M=1.1001011001011100100000101110110
Экспонента exp2=30
Преобразование двоичного нормализованного числа в 32 битный формат IEEE 754.
Первый бит отводится для обозначения знака числа. Поскольку число положительное, то первый бит равен 0
Следующие 8 бит (с 2-го по 9-й) отведены под экспоненту.
Для определения знака экспоненты, чтобы не вводить ещё один бит знака, добавляют смещение к экспоненте в половину байта +127. Таким образом, наша экспонента: 30 + 127 = 157
Переведем экспоненту в двоичное представление.
157 = 100111012
Оставшиеся 23 бита отводят для мантиссы. У нормализованной двоичной мантиссы первый бит всегда равен 1, так как число лежит в диапазоне 1 ≤ M < 2. Для экономии, единицу не записывают, а записывают только остаток от мантиссы: 10010110010111001000001
Для перевода необходимо умножить разряд числа на соответствующую ему степень разряда.
10010110010111001000001 = 222*1 + 221*0 + 220*0 + 219*1 + 218*0 + 217*1 + 216*1 + 215*0 + 214*0 + 213*1 + 212*0 + 211*1 + 210*1 + 29*1 + 28*0 + 27*0 + 26*1 + 25*0 + 24*0 + 23*0 + 22*0 + 21*0 + 20*1 = 4194304 + 0 + 0 + 524288 + 0 + 131072 + 65536 + 0 + 0 + 8192 + 0 + 2048 + 1024 + 512 + 0 + 0 + 64 + 0 + 0 + 0 + 0 + 0 + 1 = 4927041
В десятичном коде мантисса выражается числом 4927041
В результате число 1100101100101110010000010111011 представленное в IEEE 754 c одинарной точностью равно 01001110110010110010111001000001.
Переведем в шестнадцатеричное представление.
Разделим исходный код на группы по 4 разряда.
010011101100101100101110010000012 = 0100 1110 1100 1011 0010 1110 0100 0001 2
Получаем число:
0100 1110 1100 1011 0010 1110 0100 0001 2 = 4ECB2E4116
Дата добавления: 2015-02-16; просмотров: 93 | Поможем написать вашу работу | Нарушение авторских прав |