Поскольку одно и то же число может быть записано в различных СС, то возможен перевод числа из одной системы в другую. Т.к. самая распространенная СС – десятичная, то необходимо рассмотреть алгоритмы перевода из десятичной системы в другую и обратно.
1. Алгоритм перевода из десятичной СС в другую.
1). Целочисленно разделить исходное число Z(10) на основание новой системы (p) и найти остаток отделения – это будет цифра от 0-го разряда числа Z.
2). Частное от деления снова разделить на P с выделением остатка, процедуру продолжать до тех пор, пока частное не окажется меньше P.
3). Образованные остатки от деления, поставленные в порядке, обратном их получения, и представляют Z(p). Пример:
123 5
10 24 5
23 20 4
20 4
Итак, 123 (10) = 443 (5).
2. Алгоритм перевода Z(p) в Z(10).
Для этого преобразования используют формулу (1):
Zp=ak-1*pk-1+ak-2*pk-2+...+a1*p1+a0*p0; (1)
Где p – основание СС, k- общее число цифр числа.
Например:
443(5)=4*52 + 4*51 + 3*50 = 100+20+3 = 123.
3. Алгоритм перевода дробного числа из десятичной СС в другую систему.
1) Умножить исходную дробь в 10-ной системе на основание P, выделить целую часть – она будет первой цифрой новой дроби, отбросить целую часть.
|
|
2) Для оставшейся дробной части операцию умножения с выделение целой и дробной частей повторять, пока в дробной части не окажется 0 или не будет достигнута желаемая точность конечного числа.
3) Записать дробь в виде последовательности цифр после поля с разделителями в порядке их появления.
Пример:
0,375(10) в 0,Y(2).
0.375*2 = |0.|750
0.75*2 = |1.|50
0.5*2 = |1.|0
0.37510 = 0.0112
4. Алгоритм перевода 0.Y(P) в 0.Y(10) сводится к вычислению значения формулы (1).
Пример:
0,0112 = 0*2-1 + 1*2-2 + 1*2-3 = 0,25+0,125 = 0,37510.
Арифметические операции в двоичной системе счисления и представление чисел в других системах счисления.
1) Сложение производится согласно таблице сложения, которая для двоичных чисел имеет вид:
0+0=0 0+1=1
1+0=1 1+1=10
Пример:
01012 + 11002 =?
2) Умножение производится согласно таблице умножения.
0*0=0 0*1=0
1*0=0 1*1=1
Пример:
11012*1012 =?
* 101
Таким образом, умножение двоичных чисел сводится к операциям сдвига на один двоичный разряд влево и повторения первого сомножителя в тех разрядах, где второй сомножитель содержит 1, и сдвига без повторения с разрядом 0.
Представление чисел в других СС.
10-ная | 2-ная | 8-ная | 16-ная |
A B C D E F |