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




Системы счисления.

Числа могут быть записаны в различных системах счисления. Наиболее привычна для нас десятичная система счисления, в которой принят счет десятками и используется 10 основных цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Размещая эти цифры на различных позиция, можно выразить любое число.

По такому принципу можно построить систему счисления с произвольным основанием b.

Любое целое число N, заданное в b -ичной системе счисления, можно записать в развернутом виде:

 

 

b – основание системы счисления (целое положительное фиксированное число);

Pi – разряд числа

.

Например, (743)10=7×102 +4×101 +3×100=700+40+3=743

Правильная дробь записывается в развернутом виде так:

,

Например,

(0,517)10=5×10-1+1×10-2+7×10-3=

=0,5+0,01+0,007=0,517

Рассмотрим системы с основанием 2, 8, 10, 16.

Вычислительные машины могут быть построены на базе любой системы счисления, но наиболее естественным электронным способом счета является способ "есть сигнал / нет сигнала", поэтому в современных ЭВМ используется преимущественно двоичная система счисления, основанная на двух цифрах 0 и 1 (два состояния значительно легче различить, чем 10).

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

(101101)2=1×25+0×54+1×23+1×22+

+0×51+1×20=32+8+4+1=(45)10

(10101,1101)2=1×24+0×23+1×22+

+0×21+1×20 +1×2-1+1×2-2+0×2-3+

+1×2-4=16+4+1+1/2+1/4+1/16=

=21+13/16=(21,8125)10

Существенным недостатком двоичной системы счисления является громоздкая запись чисел.

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

ЧИСЛО
10–е 2–е 8–е 2–е 16–е
         
         
         
         
         
         
         
         

 

 

10–е 2–е 8–е 2–е 16–е
    -    
    -    
    -   A
    -   B
    -   C
    -   D
    -   E
    -   F

Двоичная система связана с восьмеричной и шестнадцатеричной соотношениями:

23 = 8 и 24 = 16,

т.е. цифры восьмеричной системы можно представить двоичными триадами, шестнадцатеричной – тетрадами, что облегчает взаимный перевод.

Например, (110100101)2®

® (110 100 101)2®(645)8

(11011101)2®

® (011 011 101)®(335)8

(101111101111)2®

® (1011 1110 1111)2®(BEF)16

® (10111011000)2®

(0101 1101 1000)2®(5D8)16

Вообще, для того чтобы перевести целое число из одной системы счисления в другую необходимо выполнить следующие действия:

1) поделить данное число на основание новой системы счисления;

2) перевести остаток от деления в новую систему счисления; получается младший разряд нового числа;

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


Пример. Перевести число 256 из десятичной системы счисления в восьмеричную: (256)10®(?)8

Решение. 256 8

-24 32 8

16 -32 4

-16 0

Ответ: (256)10®(400)8.

Проверка: (400)8=4×82+0×81+0×80=

=256+0+0=(256)10

Пример. Выполнить перевод (397)10®(?)16

Решение:

397 16

- 32 24 16

67 - 32 1

- 64 8

Ответ: (397) 10®(18D)16.

Проверка: (18D)16=1×162+8×161+13×160=

=256+128+13=(397)10

Пример. Выполнить преобразование (25) 10®(?)2

Решение: 25 2

- 2 12 2

5 - 12 6 2

- 4 0 - 6 3 2

1 0 -2 1

Ответ: (25) 10®(11001)2.

Проверка:

(25)10=1×24+1×23+0×22+

+0×21 +1×20=16+8+1=(25)10

Правило перевода дробей из одной системы счисления в другую заключается в выполнении следующих действий:

1) умножить дробную часть числа на основание системы счисления;

2) в полученном произведении выделить целую часть числа (это будет старшим разрядом искомого числа);

3) дробную часть произведения снова умножить на основание новой системы счисления; целая часть произведения будет следующим разрядом дробной части искомого числа;

4) повторить п.3 до получения необходимого количества разрядов искомого числа.

Пример. Выполнить перевод (0.0001):

(0,784)10 ®(?)2; 0,612510 ®(?)8; (0,378)10 ®(?)16.

0, 784 0, 6125 0, 378

´ 2 ´ 8 ´ 16

1 568 4 9000 6 048

´ 2 ´ 8 ´ 16

1 136 7 2000 0 768

´ 2 ´ 8 ´ 16

0 272 1 6000 12 288

´ 2 ´ 8 ´ 16

0 544 4 8000 4 608

´ 2 ´ 8 ´ 16

1 088 6 4000 9 728

Ответ (¯): (0,784)10 ®(0,11001)2

0,612510 ®(0,47146)8

(0,378)10 ®(0,60С4)16.

Проверка:

а) (0,784)10 ®(0,11001)2 ®

=1×2–1+1×2–2+1×2–5=

=0.5+0.25+0.3125=0.78125;

|0,784 – 0.78125|=|0.00275|

0.00275>0.0001 – точность не достигнута.

б) 0,612510 ® (0,47146)8 ®

= 4×8–1+7×8–2+1×8–3+4×8–4 +

+6×8–5= 0.5 + 0.1094+0.00195+

+0.00098+0.00018=0.61248

|0,6125–0.61248|= |0.00002|

0.00002<0.0001 – точность достигнута

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

Рассмотрим примеры выполнения арифметических операций в различных системах счисления.

Элементарные действия с двоичными числами.

Сложение Вычитание Умножение
0 + 0 = 0 0 – 0 = 0 0 * 0 = 0
0 + 1 = 1 1 – 0 = 1 0 * 1 = 0
1 + 0 = 1 1 – 1 = 0 1 * 0 = 0
1 +1=(10)2 (10)2 – 1 = 1 1 * 1 = 1

Пример. Выполнить действия в двоичной с/с:

а) 1.0011011+0.1101001;

б) 0.1101101–0.0111011;

в) 1.0101∙0.1011;

г) 11011:101.

Рассмотрим примеры операций в восьмеричной системе счисления.

Пример.

а) 78+58=(78+18)+48=(10)8+48=(14)8;

б) (12)8–58=(10)8+28–58=

(78+18)+28–58=58;

в) 38∙68=(18)10=(22)8;

г) (10)8:28=4.

Пример. Выполнить действия в восьмеричной с/с:

а) 26.1374+72.5623;

б) 134.156–72.707;

в) 1.503∙2.764; г) 304:26.

 

 

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

Пример. Выполнить действия в шестнадцатеричной с/с:

а) 315.AC+2E3.DB;

б) F3A.97–CD5.BE;

в) 26.35∙63; г) 64C:25.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: