Системы счисления: формула числа, перевод чисел
Позиционные системы счисления
В привычной для нас десятичной системе счисления используют 10
цифр: 0,1,2,…,9 и каждое число представлено как :
m −1
N = ∑ ai10i
i =− s
где i – номер разряда,
a – одна из цифр от 0 до 9,
s – количество разрядов в дробной части числа,
m - количество разрядов в целой части числа.
Например, 405.35=4*102+0*101+5*100+3*10-1+5*10-2
Но десятичная система счисления далеко не единственно возможная.
В общем случае число N в некоторой позиционной системе счисления с
основанием P записывается как
m −1
N = ∑ ai P i ,
i =− s
где a –цифра от 0 до P-1,
P – основание системы счисления.
Позиционными системами счисление называются такие, у которых
вес каждой цифры a зависит от позиции в изображении числа. Так римская
система счисления непозиционная.
Максимальное целое число, которое может быть представлено в m
разрядах:
N max = P m − 1.
Минимальное значащее (не равное 0) число, которое можно записать
в s разрядах дробной части:
N min = P − s .
Любое число в двоичной системе представляет несколькими
двоичными разрядами, каждый разряд несет информацию равную 1 биту.
Поэтому каждый разряд и называют просто битом. Пример двоичного
числа с дробной частью:
1010.0012=1*23+0*22+1*21+0*20+0*2-1+0*2-2+1*2-3=10.12510.
Недостаток двоичной системы – слишком громоздкая запись.
Например,
17310=10101101.
Итак, выше приведены примеры перевода чисел из двоичной,
восьмеричной и шестнадцатеричной систем счисления в десятичную.
Алгоритм обратного перевода заключается в следующем. Число в
десятичной системе счисления последовательно делится на основание
системы счисления, в которую надо переводить. В качестве цифр нового
представления берутся остатки от деления в обратном порядке, начиная с
младшего остатка.
Для перевода дробных частей десятичных чисел используют
следующий алгоритм. Число в десятичной системе счисления необходимо
последовательно умножать на основание системы счисления, в которую
надо переводить. Причем умножать надо только очередную дробную
часть, игнорируя возникающие целые части. В качестве цифр берутся
целые части результатов умножения. Так происходит до тех пор, пока
дробная часть не станет равной нулю или не достигается заданная
точность.
На рис.4 приведен пример перевода 0.62510 в двоичную систему
счисления.
0.625
* 2
1.250
* 2
0.500
* 2
1.000
Рис.4
Таким образом, 0.62510=0.1012.
Для перевода из двоичной в восьмеричную систему счисления
число в двоичной системе необходимо разбить по три цифры (на триады)
справа налево, и вместо каждой триады записать восьмеричную цифру
соответствующую двоичному коду триады. Например, необходимо
перевести 11011110112 в восьмеричную систему счисления, тогда
001 101 111 011
1 5 7 3
Таким образом, 11011110112=15738.
Аналогично, при переводе в шестнадцатеричную систему счисления
двоичное число разбивается по четыре цифры (на тетрады). Например,
переведем 11011110112 в шестнадцатеричную систему счисления.
0011 0111 1011
3 7 11
Таким образом, 11011110112=37В16 .
Обратный перевод из восьмеричной или шестнадцатеричной
системы счисления в двоичную очень прост, каждая цифра записывается в
двоичном коде по триадам или тетрадам.
27
1238 = 1 010 0112
А1716 = 1010 0001 01112 .
Для изображения двоичных чисел часто используют двоично-
десятичную систему счисления. В этой системе для изображения каждой
десятичной цифры отводится тетрада. Например, десятичное число 925 в
двоично-десятичной системе запишется в виде 1001 0010 0101. Следует
обратить внимание, что эта запись отличается от двоичного изображения
данного числа. Например, приведенный выше код в двоичной системе
изображает число 234110.