.
Пример №2
Рассмотрим пример перевода восьмеричного числа 5430,67
в двоичную систему счисления.
5430,67
Цифре 5 восьмиричной системы счисления в таблице кодирования соответствует триада двоичной системы 101, таким же образом определяем триады для других цифр.
5
=101
4
=100
3
=011
0
=000
6
=110
7
=111
Ответ запишем, заменив восьмиричную цифру триадой:
5430,67
=101100011000,110111
Представление чисел в компьютере
Современный персональный компьютер позволяет работать с разнообразными данными: числами, символьными данными (текстом), графическими данными, звуковыми данными.
Все данные в компьютере хранятся и обрабатываются в унифицированном (единообразном) виде – двоичном цифровом коде. Требуется это для того, чтобы большое количество различных видов данных можно было обрабатывать одним устройством.
Числа, используемые человечеством, представляют бесконечно непрерывный ряд, различаются на положительные и отрицательные числа, целые и дробные, рациональные и иррациональные. Реализовать представление такого бесконечного множества в технических устройствах невозможно. Необходимы ограничения, как диапазона, так и точности представления чисел, система компьютерного представления чисел конечна и дискретна. В компьютерах размеры ячеек памяти (регистров) фиксированы, причем ограничения налагаются и на диапазон, и на точность представления чисел. Кроме того целесообразно представлять числа в той форме, на которую требуется меньшее количество компьютерной памяти.
При разделении записи числа на составляющие (знак числа, значение числа, знак порядка, значение порядка) легче перейти к конечной и дискретной форме, необходимой для представления в компьютере.
Любое действительное число можно записать в нормальной форме:
A=±m* P
, где
m – правильная дробь, называемая мантиссой числа
P – основание системы счисления
q – целое число, называемое характеристикой.
Например, запись числа в нормальной форме имеет вид:
12345,67 = 0,1234567?10
;
– 9875=– 0,9875?10
Каждый разряд десятичного числа отличается от соседнего на степень числа 10, умножение на 10 равносильно смещению десятичного разделителя на одну позицию вправо. Деление на 10 сдвигает десятичный разделитель на позицию влево. Поэтому можно продолжить любое равенство:
12345,67 = 0,1234567?10
= 1,234567?10
= 0,01234567?10
= 1234567?10
Десятичный разделитель «плавает» в числе и не является абсолютной позицией.
В целях эффективного использования памяти для представления в компьютере целых чисел (вещественных с нулевой дробной частью) и вещественных (дробная часть которых предполагается ненулевой) используются различные форматы. Стандартными форматами для целочисленного хранения являются байт, слово (двухбайтовый регистр) и двойное слово (четырехбайтовый регистр).
При хранении вещественного числа используются форматы одинарной точности (32-разрядный) и двойной точности (64 – разрядный).
Разделение способов хранения целых и вещественных чисел объясняется тем, что большое количество информации представляет собой именно целочисленные данные, а, как было указано выше, форматы хранения целых чисел экономичнее форматов хранения вещественных чисел.
Компьютерное представление целых чисел
Целые числа хранятся в компьютере в форме записи с фиксированной точкой (в англоязычных странах разделитель целой и дробной части числа обозначается точкой). Такое представление предполагает, что разделить целой и дробной части находится вне разрядной сетки числа, справа от младшего цифрового разряда, т.е. дробная часть равна нулю.
Всего в разрядную сетку регистра-байта с помощью двоичного кода можно записать 256 вариантов значений: 2
=256. Иначе говоря, одного байта достаточно, чтобы записать целое положительное число (в двоичной системе счисления) в диапазоне от 0 до 256.
Еще одна возможность использования одного байта – хранение знакового диапазона: в этом случае старший (самый левый) бит разрядной сетки отводится под признак знака (1 – отрицательное число, 0 – положительное число), при этом количество значимых байтов уменьшается до семи, а диапазон числа будет иным, от -2
=-128 до 2