Помогите пожалуйста записать число 12F7А000 в формате с фиксированной и плавающей запятой.

Лучший ответ по мнению автора

Слово — 16 бит
Двойное слово — 32 бита.
Чтобы поместить в 16 бит число со знаком и фиксированной точкой, надо:
1) старший бит отвести под знак
2) оставшиеся 15 бит поделить между целой и дробной частями так, чтобы в целую поместилось число 791<2¹⁰.
В итоге (слева направо): бит под знак, 10 бит под целую часть, пять — под дробную.
791 -> 0|1100010111|00000 (палочки — для удобства)
-791->1|1100010111|00000
Для записи в двойное слово с плавающей запятой, вспомним представление числа в экспонециальной записи:
791=0,791*10³; -791=-0,791*10³
Обязательные поля: знак мантиссы, мантисса, знак порядка, порядок
Для записи мантиссы и порядка отведём по (32-2)/2=15 бит

Итак:
791->0|0001100010111|0|0000000000000011
-791->1|0001100010111|0|0000000000000011
Есть ещё варианты представления отрицательных чисел в дополнительной форме, т.е. с заменой 0 на 1 и наоборот, но это уже — детали реализации конкретного процессора
-791=1|0011101000|00000
-791=1|1110011101000|0|000000000000011
13.10.16
Лучший ответ по мнению автора
Рекомендуем личную консультацию

Елена Васильевна

Сейчас на сайте
Меня зовут Елена Васильевна, я репетитор по математике из г. Гомель (Беларусь). Занимаюсь со школьниками (8 по 11 класс), а также со студентами.
Посмотреть всех экспертов из раздела Учеба и наука > Информатика