Алгоритмы перевода чисел из одной системы счисления в другую.
Мы настолько привыкли к десятичному счету, что число в любой другой системе мало что нам говорит о соответствующем ему количестве. Например, что за величина 1123? Чтобы понять «много это или мало», нужно перевести его в десятичную систему. Сделать это довольно просто.
Число 1123 содержит в себе 2 единицы, 1 тройку и 1 девятку. Как и в десятичной системе, число можно представить в виде суммы произведений составляющих его цифр на соответствующие степени основания системы (в нашем примере — тройки).
1123 =1х32 + 1х31 + 2х3°= 9 + 3 + 2 = 1410
Следовательно, 1123 = 1410
Переведем двоичное число 1011012 в десятичную систему счисления. Принцип тот же. Теперь в сумму надо подставлять степени двойки:
1011012= 1 х 25 + 0 х 24+ 1 х 23 + 1 х 22 + 0 х 21 + 1x2°= 32+ 8 + 4 + 1 = 4510.
И еще один пример — с шестнадцатеричным числом:
15FC16 = 1 х 163 + 5 х 162+ 15 х 161 + 12 = 4096 + 1280 + 240 + 12 = 5628
Аналогично переводятся дробные числа.
101,112 = 1 х 22 + 0 х 21 + 1 х 2° + 1 х 2-1 + 1 х 2-2 =
= 4 + 1 + 1/2 + 1/4 = 5 + 0,5 + 0,25 = 5,7510.
|
|
А как произвести обратный перевод из десятичной системы в недесятичную (n≠10)? Для этого нужно суметь разложить десятичное число на слагаемые, содержащие степени n. Например, при n = 2 (двоичная система):
1510 = 8 + 4 + 2 + 1 = 1х23 + 1х22+ 1x21 + 1 = 11112
Эта задача уже посложнее, чем перевод в десятичную систему. Попробуйте, например, таким образом перевести в двоичную систему число 157. Конечно можно, но трудно!
Однако существует процедура, позволяющая легко выполнить такой перевод. Она состоит в том, что данное десятичное число делится с остатком на основание системы. Полученный остаток — это младший разряд искомого числа, а полученное частное снова делится с остатком, который равен второй справа цифре и т.д. Так продолжается до тех пор, пока частное не станет меньше делителя (основания системы). Это частное — старшая цифра искомого числа.
Продемонстрируем этот метод на примере перевода числа 3710 в двоичную систему. Здесь для обозначения цифр в записи числа используется символика: а5а4а3а2а1а0.
Отсюда: 3710 - 1001012 |
Перевод правильной десятичной дроби в другую систему счисления производится путем последовательных умножений на основание системы с выделением целой части произведений. Однако мы остановимся лишь на целых числах.
Двоичная арифметика.
Вам хорошо знакомы правила выполнения арифметических операций с многозначными десятичными числами. В младших классах школы вы учились складывать, вычитать, умножать «столбиком» и делить «уголком». В конечном счете для выполнения вычислений нужно уметь складывать и умножать однозначные числа. Таблицу умножения десятичных чисел многие первоклассники заучивают долго и с большим трудом. Но вот если бы в школе изучали не десятичную, а двоичную арифметику, проблем бы не было ни у кого, и все ученики были бы отличниками! Сейчас вы убедитесь в том, что двоичная арифметика, действительно, очень проста.
|
|
С двоичной системой счисления вы уже знакомы. В ней всего две цифры: 0 и 1. Вот все варианты их сложения:
0 + 0 = 0, 0 + 1 = 1, 1 + 1 = 10.
Вам уже должно быть понятно, что 102 = 210 (напомним, что нижний индекс обозначает основание системы счисления и всегда записывается в десятичной системе). Ряд двоичных натуральных чисел легко записать, получая каждое следующее число путем прибавления единицы к предыдущему.
Таблица 1. Десятичные числа от 1 до 16 и равные им двоичные числа
«10» | «2» | «10» | «2» | «10» | «2» | «10» | «2» |
1 | 1 | 5 | 101 | 9 | 1001 | 13 | 1101 |
2 | 10 | 6 | 110 | 10 | 1010 | 14 | 1110 |
3 | 11 | 7 | 111 | 11 | 1011 | 15 | 1111 |
4 | 100 | 8 | 1000 | 12 | 1100 | 16 | 10000 |
Из таблицы 1 видно, как быстро нарастает количество цифр в двоичных числах. Но этот недостаток двоичной системы компенсируется простотой арифметики. Вот пример сложения столбиком двух многозначных двоичных чисел:
1 0 1 1 0 1 1 1 0 1
+ 1 1 1 0 1 0 1 1 0
1 0 0 1 0 1 1 0 0 1 1
Двоичная таблица умножения:
0 x 0 = 0, 1 x 0 = 0, 1 x 1 = 1.
Пример:
111
х11
111
+ 111
10101
Вопросы самоконтроля
- В чем отличие позиционной и непозиционной систем счисления?
- Что такое система счисления?
- Что такое основание системы счисления?
- Что такое непозиционная система счисления?
- Что такое позиционная система счисления?
- Из каких знаков состоит алфавит десятичной и двоичной систем?
- Почему в вычислительной технике взята за основу двоичная система счисления?