Учеба и наука

Решено

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

сентябрь 25, 2016 г.

  • Всего ответов: 1

  • Вилия - аватарка

    Вилия

    14-й в

    Слово — 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, 2016 г.
    Ответ понравился автору
    Лучший ответ по мнению автора

Похожие вопросы