Перевод целых и дробных чисел из одной системы счисления в другую

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

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

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: