Представление чисел в двоичном коде. Двоично-десятичная система Представить десятичное число в двоично десятичную системе

Двоично-кодированная десятичная система счисления (D-коды)

Непосредственное изображение десятичных чисел приводит к необходимости двоичного кодирования десятичных цифр. Устройствам, выполняющим арифметические преобразования с десятичными числами, присваивается специальный термин «десятичная арифметика». Такие устройства должны иметь максимальное сходство с обычными двоичными устройствами.

Десятичная арифметика включается в состав аппаратурных средств высокопроизводительных систем с целью исключения преобразований исходных данных в двоичную форму и результатов в десятичную.

Двоично-кодированная десятичная система является комбинированной системой счисления, которая обладает достоинствами двоичной и удобством десятичной системы.

D -код - это двоично-кодированное представление десятичного числа, в котором каждая десятичная цифра представляется тетрадой из двоичных символов.

Количество различных двоичных тетрад N = 2 4 = 16. Для кодирования двоичных цифр из них используется только десять. Наличие избыточных комбинаций позволяет иметь различные D -коды. В ЭВМ наибольшее применение нашли системы кодирования 8421 - D 1 , 2421 - D 2 , (8421+3) - D 4 . Появляющаяся избыточность приводит к множеству кодирования десятичных цифр, из которых следует выбирать оптимальную.

Код 8421 (табл. 2.4) называется кодом с естественными весами , где цифры 8,4,2,1 - веса двоичных разрядов тетрад. Любая десятичная цифра в этом коде изображается ее эквивалентом в двоичной системе счисления. Этот код нашел наибольшее применение при кодировании десятичных чисел в устройствах ввода-вывода и при построении операционных устройств десятичной арифметики.

Особенность кодов D 2 и D 4 (8421+3) или кода с избытком 3 в том, что кодирование любой десятичной цифры и дополнительной к ней цифры до 9 осуществляется взаимно дополняющими тетрадами. Эта особенность дает простой способ получения дополнения до 9 путем инвертирования двоичных цифр тетрады. Такие коды удобно использовать для организации операции вычитания при построении десятичных сумматоров.

Таблица 2.4

Примеры кодирования десятичных цифр тетрадами

Десятичная цифра

Эквиваленты в D -кодах

D 1 (8421)

D 2 (2421)

D 4 (8421+3)

Приведем пример кодирования десятичного числа A = 8371 в двоично-кодированной десятичной системе счисления:

D 1: A = 1000 0011 0111 0001 (2/10) ;

D 2: A = 1110 0011 1101 0001 (2/10) ;

D 4: A = 1011 0110 1010 0100 (2/10).

Оптимальность кодирования определяется шестью требованиями, которым должен удовлетворять десятичный код.

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

Невыполнение данного требования приводит к неоднозначности результатов.

2. Упорядоченность. Большим десятичным цифрам должны соответствовать большие тетрады десятичного кода и, наоборот, меньшим - меньшие тетрады.

Выполнение данного требования необходимо для организации количественного сравнения цифр в десятичных разрядах.

3. Четность. Четным цифрам должны соответствовать четные тетрады, нечетным цифрам - нечетные тетрады. Соответствие может быть отмечено любым способом.

Выполнение данного требования необходимо для выполнения округления результата.

4. Дополнительность. Если x1 и х2 - такие две цифры, для которых х1+х2 = 9 и цифре x1 сопоставляется тетрада, то цифре х2, если удовлетворяется требование дополнительности, должна сопоставляться тетрада, получаемая путем инверсии двоичных разрядов кода цифры х1.

Требование дополнительности необходимо для упрощения реализации дополнительных и обратных кодов десятичных чисел.

5. Весомозначность. Должны существовать четыре целых положительных числа: pз,р2,p1,p0, называемых весами, с помощью которых можно определить десятичную цифру х по значению двоичной тетрады, сопоставленной х, по формуле

Выполнение данного требования способствует декодированию.

6. Непрерывность. Непрерывной последовательности изменений значения цифр должна соответствовать непрерывная последовательность изменений значения тетрад.

Ни один из десятичных кодов не удовлетворяет одновременно всем шести перечисленным требованиям.

Наибольшее распространение в ВТ нашел код прямого замещения с весом разрядов 8421. Этот код самый наглядный и удобный, так как в соответствии с названием кода десятичная цифра в нем соответствующим значением двоичного кода. Однако код 8421 не удовлетворяет требованию дополнительности, поэтому действия в этом коде с изменением знака десятичного числа связаны с инверсией разрядов или взятия дополнения, то есть требуют дополнительных коррекций и/или временных затрат.

Достоинствами двоично-кодированной десятичной системы счисления относительно двоичной являются:

  • · отсутствие необходимости перевода исходных данных и результатов из одной системы счисления в другую;
  • · удобство контроля промежуточных результатов путем вывода их на индикацию для внутреннего наблюдения;
  • · более широкие возможности для автоматического контроля из-за наличия в D -кодах избыточных комбинаций.

D -коды применяют для решения экономических задач, которые характеризуются большим объемом исходных данных, сравнительной простотой и малым объемом выполняемых над ними преобразований и большим количеством результатов вычислений. Эта система широко используется в калькуляторах и персональных микроЭВМ.

Эта система имеет основание S = 10, но каждая цифра изображается четырехразрядным двоичным числом, называемым тетрадой. Обычно данная система счисления используется в ЭВМ при вводе и выводе информации. Однако в некоторых типах ЭВМ в АЛУ имеются специальные блоки десятичной арифметики, выполняющие операции над числами в двоично-десятичном коде. Это позволяет в ряде случаев существенно повышать производительность ЭВМ.

Например, в автоматизированной системе обработки данных чисел много, а вычислений мало. В этом случае операции, связанные с переводом чисел из одной системы в другую, существенно превысили бы время выполнения операций по обработке информации.

Перевод чисел из десятичной системы в двоично-десятичную весьма прост и заключается в замене каждой цифры двоичной тетрадой.

Пример.

Записать десятичное число 572.38 (10) в двоично-десятичной системе счисления.

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

Пример.

Записать двоично-десятичное число 10010.010101 (2-10) в десятичной системе счисления.

Перевод чисел из двоично-десятичной в двоичную систему осуществляется по общим правилам, описанным выше.

2.3. Восьмеричная система счисления

В восьмеричной системе счисления употребляются всего восемь цифр, т.е. эта система счисления имеет основание S = 8. В общем виде восьмеричное число выглядит следующим образом:

где
.

Восьмеричная система счисления не нужна ЭВМ в отличие от двоичной системы. Она удобна как компактная форма записи чисел и используется программистами (например, в текстах программ для более краткой и удобной записи двоичных кодов команд, адресов и операндов). В восьмеричной системе счисления вес каждого разряда кратен восьми или одной восьмой, поэтому восьмиразрядное двоичное число позволяет выразить десятичные величины в пределах 0-255, а восьмеричное охватывает диапазон 0-99999999 (для двоичной это составляет 27 разрядов).

Поскольку 8=2 3 , то каждый восьмеричный символ можно представить трехбитовым двоичным числом. Для перевода числа из двоичной системы счисления в восьмеричную необходимо разбить это число влево (для целой части) и вправо (для дробной) от точки (запятой) на группы по три разряда (триады) и представить каждую группу цифрой в восьмеричной системе счисления. Крайние неполные триады дополняются необходимым количеством незначащих нулей.

Пример.

Двоичное число 10101011111101 (2) записать в восьмеричной системе счисления.

Пример.

Двоичное число 1011.0101 (2) записать в восьмеричной системе счисления.

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

2.4. Шестнадцатеричная система счисления

Эта система счисления имеет основание S = 16. В общем виде шестнадцатеричное число выглядит следующим образом:

где
.

Шестнадцатеричная система счисления позволяет еще короче записывать многоразрядные двоичные числа и, кроме того, сокращать запись 4-разрядного двоичного числа, т.е. полубайта, поскольку 16=2 4 . Шестнадцатеричная система также применяется в текстах программ для более краткой и удобной записи двоичных чисел.

Для перевода числа из двоичной системы счисления в шестнадцатеричную необходимо разбить это число влево и вправо от точки на тетрады и представить каждую тетраду цифрой в шестнадцатеричной системе счисления.

Пример.

Двоичное число 10101011111101 (2) записать в шестнадцатеричной системе.

Пример.

Двоичное число 11101.01111 (2) записать в шестнадцатеричной системе.

Для перевода числа из шестнадцатеричной системы счисления в двоичную, необходимо, наоборот, каждую цифру этого числа заменить тетрадой.

В заключение следует отметить, что перевод из одной системы счисления в другую произвольных чисел можно осуществлять по общим правилам, описанным в разделе “Двоичная система счисления”. Однако на практике переводы чисел из де­сятичной системы в рассмотренные системы счисления и обратно осуществляются через двоичную систему счисления.

Кроме того, следует помнить, что шестнадцатеричные и восьмеричные числа – это только способ представления больших двоичных чисел, которыми фактически оперирует процессор. При этом шестнадцатеричная система оказывается предпочтительнее, поскольку в современных ЭВМ процессоры манипулируют словами длиной 4, 8, 16, 32 или 64 бита, т.е. длиной слов, кратной 4. В восьмеричной же системе счисления предпочтительны слова, кратные 3 битам, например слова длиной 12 бит (как в PDP-8 фирмы DEC).

Сложение положительных чисел Сложение многоразрядных чисел осуществляется по правилам двоичной арифметики; особенность проявляется при сложении двух единиц. При S = Ю(10)сумма двух единиц равна двум, что эквивалентно 10(2). Таким образом, вместо одного разряда образуется два. В этом...
(Вычислительная техника)
  • Арифметические действия над числами с плавающей запятой
    Сложение чисел При сложении чисел с плавающей запятой результат определяется как сумма мантисс слагаемых с общим для слагаемых порядком. Если знаки обеих мантисс одинаковы, то они складываются в прямых кодах, если разные - в дополнительном или обратном кодах. В табл. 2.8 приведен порядок действий...
    (Вычислительная техника)
  • Числа в десятичной системе счисления
    10° - единица 109 - миллиард 1024 - септиллион 101 - десять 1012 - триллион 1027 - октиллион 102 - сто 1015 - квадриллион Ю30 - нониллион 103 - тысяча 1018 - квинтиллион 1033 - дециллион 106 - миллион 1021 - ...
    (Физика)
  • Системы счисления
    Человеку издревле приходилось считать различные предметы и записывать их количество. Для этих целей возникла унарная система записи, при которой числа обозначались соответствующим количеством черточек (или засечек). Например, число 5 представлялось как 111 |. Унарная запись очень громоздкая и...
    (Архитектура ЭВМ)
  • Экономичность системы счисления
    Число в системе счисления рек разрядами, очевидно, будет иметь наибольшее значение в том случае, если все цифры числа окажутся максимальными, т. е. равными - 1). Тогда (гр)тах =(/>-1)...(/>-!) = / -1. к цифр Количество разрядов числа при переходе от одной системы счисления...
    (Архитектура ЭВМ)
  • Корректура счисления пути по одной линии положения
    При подходе к побережью обстановка может сложиться так, что судоводитель имеет возможность получить только одну линию положения. Например, открылась вершина горы, на которую можно измерить только пеленг, или прослушиваются сигналы только одного радиомаяка. Такая же обстановка складывается и при определении...
    (Анализ и обработка навигационных измерений)
  • Представление чисел в памяти компьютера имеет специфическую особенность, связанную с тем, что в памяти компьютера они должны располагаться в байтах – минимальных по размеру адресуемых ячейках памяти. Вся память компьютера разбита на отдельные участки из 8 бит (т.е. на байты). Байты имеют номера: 0, 1, 2, …, называемые адресами. Два соседних участка: 0 и 1, 2 и 3 и т.д. образуют ячейку памяти ЭВМ. Т.е. одна ячейка памяти может хранить два байта или 16 битов информации. Для содержимого одной ячейки используют название – «машинное слово» или просто «слово». Очевидно, адресом числа считается адрес первого байта, т.е. четные числа, начиная с 0, 2, 4, 6 и т.д. В байте может содержаться произвольный код из восьми двоичных разрядов, и задача представления состоит в том, чтобы указать правила, как в одном или нескольких байтах записать число.

    Числа могут быть целые точные, дробные точные, рациональные, иррациональные, дробные приближенные, положительные и отрицательные. Числа могут быть «карликами» (например, масса атома), «гигантами» (например, масса земли), реальными (например, количество студентов в группе, рост, возраст). И каждое из чисел потребует для оптимального представления в памяти свое количество байтов.

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

    Целые числа . Целые положительные числа от 0 до 255 можно представить непосредственно в двоичной системе счисления (двоичном коде). Такие числа будут занимать один байт в памяти компьютера.

    В такой форме представления на компьютере легко реализуется двоичная арифметика. Знак числа «плюс» или «минус» кодируется отдельным битом. Обычно это старший бит. Ноль интерпретируется, как «плюс», единица - как «минус». Таким образом, одним байтом могут быть закодированы целые числа в интервале от –128 до +127. Двоичная арифметика при этом будет несколько усложнена, т.к. в этом случае существуют два кода, изображающих число ноль 00000000 и 100000000. В компьютере на аппаратном уровне это необходимо предусмотреть. Данный способ представления целых чисел называется прямым кодом . С отрицательными числами несколько проще, если использовать дополнительный код. В дополнительном коде положительные числа совпадают с положительными числами в прямом коде, отрицательные же числа получаются в результате вычитания из 100000000 соответствующего числа. Например, число –3 получит код:

    В дополнительном коде хорошо реализуется арифметика. Каждый последующий код получается из предыдущего прибавлением единицы с точностью до бита в девятом разряде. Например, 5 – 3 = 5 + (-3)

    1 00000010

    Отбрасывая подчеркнутый старший разряд, получим 2.

    Аналогично целые числа от 0 до 65536 и целые числа от –32768 до 32767 в двоичной (шестнадцатеричной) системе счисления представляются в двухбайтовых ячейках. Существуют представления целых чисел и в четырехбайтовых ячейках.

    Действительные числа . Действительные числа в математике представляются конечными или бесконечными дробями, т.е. точность представления чисел не ограничена. Однако, в компьютере числа хранятся в регистрах и ячейках памяти, которые представляют собой последовательность байтов с ограниченным количеством разрядов. Следовательно, бесконечные или очень длинные числа усекаются до некоторой длины и в компьютерном представлении выступают как приближенные. В большинстве систем программирования целая и дробная части в написании действительных чисел разделяются не запятой, а точкой.

    Для представления действительных чисел, как очень маленьких, так и очень больших, удобно использовать форму записи чисел в виде произведения:

    Где m- основание системы счисления;

    P – целое число, называемое порядком.

    Такой способ записи чисел называется представлением числа с плавающей точкой .

    Т.е. число 1234,56 может быть записано:

    1234,56 = 123,456*10 1 = 12,3456*10 2 = 1,23456*10 3 = 0,123456*10 4 .

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

    Действительные числа в компьютерах различных типов записываются по-разному, но существует несколько стандартных международных форматов, различающихся по точности, но имеющих одинаковую структуру. Рассмотрим на примере 4 байтного числа.

    Смещенный порядок Мантисса

    мантиссы

    Первый разряд представления используется для записи знака мантиссы. За ним – группа разрядов, определяющих порядок, а остальные разряды определяют абсолютную величину мантиссы. Размеры обеих групп разрядов фиксируются. Т.к. порядок может быть положительным или отрицательным, нужно решить проблему его знака. Величина порядка представляется с избытком, т.е., вместо истинного значения порядка хранится число, называемое характеристикой (или смещенным порядком ). Для получения характеристики надо к порядку прибавить смещение. Например, при использовании для хранения порядка восьми бит и значений от –128 до +127 используется смещение 128. Тогда для представления порядка будут использоваться значения от 0 до 255, т.е. только неотрицательные числа.

    Т.к. мантисса нормализованного числа всегда равна 1, некоторые схемы представления ее лишь подразумевают, используя лишний разряд для повышения точности представления мантиссы.

    Использование смещенной формы позволяет производить операции над порядками, как над без знаковыми числами, что упрощает операции сравнения, сложения и вычитания порядков. А также упрощает операцию сравнения самих нормализованных чисел. Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего, отличного от нуля числа до наибольшего числа, представимого в компьютере при заданном формате.

    Как и в случае целых чисел, в программных системах могут использоваться несколько типов данных, реализующих модель с плавающей точкой. Например, в языке СИ применяются три типа данных с разной «длиной». Шестнадцатиразрядные компиляторы для IBM-совместимых ПК реализуют эти типы следующим образом:

    Float – 4 байта, из них 23 разряда мантиссы и 8 битов порядка

    (от 3,4*10 -38 до 3,4*10 38 , обеспечивает точность с 7 значащими цифрами);

    Double – 8 байтов, из них 52 разряда мантиссы и 11 битов порядка

    (от 1,7*10 -308 до 1,7*10 308 , обеспечивает точность с 15 знаками);

    Long double – 10 байтов, из них 65 разрядов мантиссы и 14 битов порядка

    (от 3,4 * 10 -4932 , обеспечивает точность с 19 знаками).

    Понятие типа данных . Мы уже говорили, что минимально адресуемой единицей памяти является байт, но представление числа требует большего объема. Такие числа займут группу байт, а адресом числа будет адрес первого байта группы. Следовательно, произвольно взятый из памяти байт ничего не скажет о том, частью какого информационного объекта от является – целого числа,числа с плавающей точкой или командой. Отсюда можно сделать вывод, что кроме задачи представления данных в двоичном коде, параллельно решается обратная задача – интерпретации кодов, т.е. как из кодов восстановить первоначальные данные.

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

    Примером смешанной системы счисления является двоично-десятичная система . В двоично-десятичной системе счисления для изображения каждой десятичной цифры отводится 4 двоичных разряда, поскольку максимальная десятичная цифра 9 кодируется как 1001 2 . Например,

    925 10 = 1001 0010 0101 2-10 .

    Здесь последовательные четверки (тетрады) двоичных разрядов изображают цифры 9, 2 и 5 десятичной записи соответственно.

    Хотя в двоично-десятичной записи используются только цифры 0 и 1, эта запись отличается от двоичного изображения данного числа. Например, двоичный код 1001 0010 0101 соответствует десятичному числу 2341, а не 925.

    В случае если P=Q l (l – целое положительное число), запись любого числа в смешанной системе счисления тождественно совпадает с изображением этого числа в системе счисления с основанием Q. Примерами такой смешанной системы счисления являются двоично-восьмеричная и двоично-шестнадцатеричная.

    Например,

    A2 16 = 1010 0010 2 = 1010 0010 2-16

    ПРЕДСТАВЛЕНИЕ ОТРИЦАТЕЛЬНЫХ ЧИСЕЛ В ФОРМАТЕ С ФИКСИРОВАННОЙ ЗАПЯТОЙ (ТОЧКОЙ)

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

    Известно, что одним из способов выполнения операции вычитания является замена знака вычитаемого на противоположный и прибавление его к уменьшаемому:

    А - В = А + (- В)

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

    Для машинного представления отрицательных чисел используют коды прямой, дополнительный, обратный . Упрощенное определение этих кодов может быть дано следующим образом. Если число А в обычном двоичном коде - прямом двоичном коде, изобразить как

    [A] пр = 0.an an-1 an-2.....a1 a0,

    тогда число -А в этом же коде представляется как

    [-A]пр = 1.an an-1 an-2.....a1 a0,

    а в обратном (инверсном) коде это число будет иметь вид:

    [-A]об = 1.an an-1 an-2.....a1 a0,

    ai = 1, если ai = 0,

    ai = 0, если ai = 1,

    a i - цифра i -того разряда двоичного числа. Следовательно, при переходе от прямого кода к обратному все цифры разрядов матиссы числа инвертируются.

    Тогда число -A в дополнительном коде изображается в виде

    [-A]доп = [-A]об + 1

    Таким образом, для получения дополнительного кода отрицательных чисел нужно сначала инвертировать цифровую часть исходного числа, в результате чего получается его обратный код, а затем добавить единицу в младший разряд цифровой части числа.

    Дополнительный код некоторого числа получается его заменой на новое число, дополняющее его до числа, равного весу разряда, следующего за самым старшим разрядом разрядной сетки, используемой для представления мантиссы числа в формате с фиксированной запятой. Поэтому такой код числа называется дополнительным.

    Представим, что мы имеем только два разряда для представления чисел в десятичной системе счисления. Тогда максимальное число, которое можно изобразить будет 99, а вес третьего несуществующего старшего разряда будет 10 2 , т.е. 100. В таком случае для числа 20 дополнительным будет число 80, которое дополняет 20 до 100 (100 - 20 = 80). Следовательно по определению вычитание

    можно заменить на сложение:

    Здесь старшая единица выходит за пределы выделенной разрядной сетки, в которой остается только число 30, т.е. результат вычитания из 50 числа 20.

    А теперь рассмотрим похожий пример для чисел, представленных 4-х разрядным двоичным кодом. Найдем дополнительное число для 0010 2 = 210. Надо из 0000 вычесть 0010, получим 1110, которое и является дополнительным кодом 2. Разряд, изображенный в квадратных скобках на самом деле не существует. Но так как у нас 4-х разрядная сетка, то выполнить такое вычитание в принципе невозможно, а тем более мы стараемся избавиться от вычитания. Поэтому дополнительный код числа получают способом, описанным ранее, т.е. сначала получают обратный код числа, а затем прибавляют к нему 1. Проделав все это с нашим числом (2), нетрудно убедиться, что получится аналогичный ответ.

    Подчеркнем, что дополнительный и обратный коды используются только для представления отрицательных двоичных чисел в форме с фиксированной запятой . Положительные числа в этих кодах не меняют своего изображения и представляются как в прямом коде.

    Таким образом, цифровые разряды отрицательного числа в прямом коде остаются неизменными, а в знаковой части записывается единица.

    Рассмотрим простые примеры.

    Семерка в прямом коде представляется так:

    пр = 0.0001112

    Число -7 в прямом коде:

    [-7]пр = 1.0001112,

    а в обратном коде будет иметь вид

    [-7]об = 1.1110002,

    т.е. единицы заменяются нулями, а нули единицами. То же число в дополнительном коде будет:

    [-7]доп = 1.1110012.

    Рассмотрим еще раз как процедура вычитания, при помощи представления вычитаемого в дополнительном коде, сводится к процедуре сложения. Вычтем из 10 число 7: 10 - 7 = 3. Если оба операнда представлены в прямом коде, то процедура вычитания выполняется так:

    -1.000111

    А если вычитаемое, т.е. -7, представить в дополнительном коде, то процедура вычитания сводится к процедуре сложения:

    + 1.111001

    1 0.000011 = 310.

    В настоящее время в компьютерах для представления отрицательных чисел в формате с фиксированной запятой обычно используется дополнительный код.

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

    Машинное (автоматное) изображение числа это есть представление числа в разрядной сетке цифрового автомата . Условное обозначение машинного изображения числа, например, A будем представлять как [A] .

    Из-за ограниченной длины машинных слов, множество чисел, которые можно представить в машине конечное. Сравнение различных форм представления чисел в компьютерах обычно производится на основе оценки диапазона и точности представления числа .

    В повседневной практике наиболее распространенной является форма представления чисел в виде последовательности цифр, разделенной запятой на целую и дробную части. Числа, представленные в такой форме, называются числами с естественной запятой или числами в естественной форме . В естественной форме число записывается в естественном натуральном виде, например 12560 - целое число, 0,003572 - правильная дробь, 4,89760 - неправильная дробь.

    При представлении чисел в такой форме обязательно требуется для каждого числа указание о положении его запятой в разрядной сетке, выделенной для представления числа в машине, что требует дополнительных аппаратных затрат достаточно большого объема. Поэтому в компьютерах получили распространение две другие формы представления: с фиксированной и плавающей запятой (точкой) .

    Необходимость в указании положения запятой отпадает, если место запятой в разрядной сетки машины заранее фиксировано раз и навсегда. Такая форма представления чисел называется представлением с фиксированной запятой (точкой) .

    Так как числа бывают положительные и отрицательные, то формат (разрядная сетка) машинного изображения разбивается на знаковую часть и поле числа . В поле числа размещается само изображение числа, которое мы будем условно называть мантиссой числа. Для кодирования знака числа используется самый старший разряд разрядной сетки, отведенной для изображения двоичного числа, а остальные разряды отводятся под мантиссу числа. Положение запятой в разрядной сетке строго фиксируется, обычно или правее самого младшего разряда мантиссы, или левее самого старшего. В первом случае число представляется как целое, во втором - как правильная дробь . В настоящее время в подавляющем большинстве в компьютерах в формате с фиксированной точкой представляются целые числа.

    В знаковую часть записывается информация о знаке числа. Принято, что знак положительного числа "+" изображается символом 0, а знак отрицательного числа "-" изображается символом 1.

    Например, в двоичном коде, используя 6-разрядную сетку, число 7 в форме с фиксированной запятой можно представить в виде:

    где цифра левее точки это знак числа, а пять цифр правее точки - мантисса числа в прямом коде. Здесь подразумевается, что запятая фиксирована правее младшего разряда , а точка в изображении числа в данном случае просто разделяет знаковый бит от мантиссы числа.

    В дальнейшем часто будет использоваться в примерах такой вид представления числа в машинной форме. Можно использовать и другую форму представления числа в машинной форме:

    где знаковый разряд выделяется квадратными скобками.

    Количество разрядов в разрядной сетке, отведенное для изображения мантиссы числа, определяет диапазон и точность представления числа с фиксированной запятой. Максимальное по абсолютной величине двоичное число изображается единицами во всех разрядах, исключая знаковый, т.е. для целого числа

    |A|max = (2 (n -1) - 1),

    где n - полная длина разрядной сетки. В случае 16-разрядной сетки

    |A| max = (2 (16-1) - 1) = 32767 10 ,

    т.е. диапазон представления целых чисел в этом случае будет от +3276710 до -3276710 .

    Для случая, когда запятая фиксируется правее младшего разряда мантиссы, т.е. для целых чисел, числа, у которых модуль больше, чем

    (2 (n-1) - 1) и меньше единицы не представляются в форме с фиксированной запятой. Числа, по абсолютной величине меньше единицы младшего разряда разрядной сетки, называются в этом случае машинным нулем.Отрицательный ноль запрещен.

    В некоторых случаях, когда можно оперировать только модулями чисел, вся разрядная сетка, включая самый старший разряд, отводится для представления числа, что позволяет расширить диапазон изображения чисел.