Кодирование чисел

Существуют два основных формата представления чисел в памяти компьютера. Один из них используется для кодирования целых чисел, второй (так называемое представление числа в формате с плавающей точкой) используется для задания некоторого подмножества действительных чисел.

Множество целых чисел, представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера области памяти, используемой для размещения чисел. В к-разрядной ячейке может храниться 2к различных значений целых чисел. Чтобы получить внутреннее представление целого положительного числа ТЧ, хранящегося в к-разрядном машинном слове, необходимо:

  • ? перевести число N в двоичную систему счисления;
  • ? полученный результат дополнить слева незначащими нулями до к-разрядов.

Пример

Получить внутреннее представление целого числа 1607 в 2-байтовой

ячейке. Переведем число в двоичную систему: 1607ю = 110010001112.

Внутреннее представление этого числа в ячейке будет следующим:

0000011001000111.

Для записи внутреннего представления целого отрицательного числа (—14) необходимо:

  • ? получить внутреннее представление положительного числа ГЧ;
  • ? обратный код этого числа заменой 0 на 1 и 1 на 0;
  • ? к полученному числу прибавить 1.

Пример

Получим внутреннее представление целого отрицательного числа —1607. Воспользуемся результатом предыдущего примера и запишем внутреннее представление положительного числа 1607:00000110 01000111. Инвертированием получим обратный код: 1111 1001 1011 1000. Добавим единицу: 11111001 10111001 — это и есть внутреннее двоичное представление числа — 1607. Формат с плавающей точкой использует представление вещественного числа Я в виде произведения мантиссы ш на основание системы счисления п в некоторой целой степени р, которую называют порядком: Я = ш х пр. Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства:

12,345 = 0,0012345 х 104 = 1234,5 х 10~2 = 0,12345 х 102

Чаще всего в ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в таком представлении должна удовлетворять условию: 0,1р < = ш < 1р. Иначе говоря, мантисса меньше 1 и первая значащая цифра — не ноль (р — основание системы счисления).

В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся), так для числа 12,345 в ячейке памяти, отведенной для хранения мантиссы, будет сохранено число 12 345. Для однозначного восстановления исходного числа остается сохранить только его порядок, в данном примере — это 2.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >