Перевод чисел в позиционных системах счисления.

Системы счисления, используемые для работы с компьютером

Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:

· двоичная (используются цифры 0, 1);

· восьмеричная (используются цифры 0, 1, ..., 7);

· шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих чисел — от десяти до пятнадцати — в качестве цифр используются символы A, B, C, D, E, F).

 

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

 

Компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:

· для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток — нет тока, намагничен — не намагничен и т.п.), а не, например, с десятью, — как в десятичной;

· представление информации посредством только двух состояний надежно и помехоустойчиво;

· возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;

· двоичная арифметика намного проще десятичной.

Недостаток двоичной системы - быстрый рост числа разрядов, необходимых для записи чисел. Двоичная система, удобная для компьютеров, для человека неудобна из-за ее громоздкости и непривычной записи. Перевод чисел из десятичной системы в двоичную и наоборот выполняет машина. Однако чтобы профессионально использовать компьютер, следует научиться понимать слово машины. Для этого и разработаны восьмеричная и шестнадцатеричная системы.

Числа в этих системах читаются почти так же легко, как десятичные, требуют соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза меньше разрядов, чем в двоичной системе (ведь числа 8 и 16 - соответственно, третья и четвертая степени числа 2).

 

Числа в этих системах требуют соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза меньше разрядов, чем в двоичной системе (ведь числа 8 и 16 — соответственно, третья и четвертая степени числа 2).

 

восьмеричная шестнадцатеричная 2n
цифра двоичный код цифра двоичный код  
20 =1
21 =2
22 =4
23 =8
24 =16
25 =32
26 =64
  27 =128
28 =256
A 29 =512
B 210 =1024
C 211 =2048
D  
E
F

Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему: каждую цифру заменяем эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).

Пример:

Чтобы перевести число из двоичной системы в восьмеричную или шестнадцатеричную, его нужно разбить влево и вправо от запятой на триады (для восьмеричной) или тетрады (для шестнадцатеричной) и каждую такую группу заменить соответствующей восьмеричной (шестнадцатеричной) цифрой.

Пример:

Как перевести целое число из десятичной системы в любую другую позиционную систему счисления?

Для перевода целого десятичного числа N в систему счисления с основанием q необходимо делить N с остатком ("нацело") на q до тех пор, пока последнее полученное неполное частное не станет равным нулю. Представлением числа N в новой системе счисления будет последовательность остатков деления, записанных в порядке, обратном порядку их получения.

Пример: Переведем число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

75 : 2 = 37 (ост. 1) 37 : 2 = 18 (ост. 1) 18 : 2 = 9 (ост. 0) 9 : 2 = 4 (ост. 1) 4 : 2 = 2 (ост.0) 2 : 2 = 1 (ост. 0) 1 : 2 = 0 (ост. 1) 75 : 8 =9 (ост. 3) 9 : 8 = 1 (ост. 1) 1 : 8 = 0 (ост. 1) 75 : 16 = 4 (ост .B) 4 : 16 = 0 (ост. 4)

 

Ответ: 7510 = 1 001 0112 = 1138 = 4B16.

Как перевести правильную десятичную дробь в любую другую позиционную систему счисления?

Для перевода правильной десятичной дроби F в систему счисления с основанием q необходимо F умножить на q , затем дробные части полученных произведений снова умножать на q, до тех пор, пока не будет достигнута требуемая точность. Представлением дробной части числа F в новой системе счисления будет последовательность целых частей полученных произведений, записанных в порядке их получения.

Умножение пpоизводится до тех поp, пока дpобная часть пpоизведения не станет pавной нулю. Это значит, что сделан точный пеpевод. В пpотивном случае пеpевод осуществляется до заданной точности.

Пример. Переведем число 0,34 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

0,34 ∙ 2 = 0,68 (0) 0,68 ∙ 2 = 1, 36 (1) 0,36 ∙ 2 = 0,72 (0) 0,72 ∙ 2 = 1,44 (1) 0,44 ∙ 2 = 0,88 (0) 0,88 ∙ 2 = 1,76 (1) 0,34 ∙8 = 2,72 (2) 0,72 ∙ 8 = 5,76 (5) 0,76 ∙ 8 = 6,08 (6) 0,34 ∙ 16 = 5,44 (5) 0,44 ∙ 16 = 7,04 (7)

 

0,3410 = 0,0101012 = 0,2568 = 0,5716

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