Перевод чисел в позиционных системах счисления.
Системы счисления, используемые для работы с компьютером
Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 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
Для чисел, имеющих как целую, так и дробную части, перевод из десятичной системы счисления в другую осуществляется отдельно для целой и дробной частей по правилам, указанным выше.