...
При этом деление продолжается до тех пор, пока не окажется, что
Правило перевода целых чисел из одной позиционной системы счисления в другую формулируется следующим образом:
Чтобы перевести целое число из одной позиционной системы счисления в другую необходимо исходное число последовательно делить на основание новой системы счисления, записанное в исходной системе счисления, до получения частного, равного нулю. Число в новой системе счисления записывается из остатков от деления, начиная с последнего.
Рассмотрим в качестве примера перевод целого числа 138 в двоичную, восьмеричную, шестнадцатиричную системы счисления.
138, 69, 34, 17, 8, 4, 2, 1, 0- частное
0 1 0 1 0 0 0 1 - остаток
138, 17, 2, 0- частное
2 1 2
138, 8, 0
10 8
[138]10=[10001010]2=[212]8=[8А]16
При переводе из двоичной системы счисления в десятичную исходное число необходимо делить на основание новой системы, т.е. на 10102.
Деление выполнить в двоичной системе трудно, поэтому на практике удобнее пользоваться общей записью числа в виде полинома. При переводе двоичных чисел в десятичную систему счисления обычно подсчитывают сумму степеней основания 2, при которых коэффициенты аі равны 1. Расчеты при этом ведутся в десятичной системе.
2.2 Перевод правильных дробей
Пусть правильную дробь А, заданную в произвольной позиционной системе счисления с основанием L необходимо перевести в новую систему с основанием Р, т.е. преобразовать ее к виду:
А= а-1р-1 +...+ а—kр-k, (2.2)
если, аналогично переводу целых чисел разделить обе части выражения на р-1, т.е умножить на р, то получим:
Ар = а-1 + А1,
где А1= а-2р-1 + а-3р-2 +...+ а—kр-k+1 - дробная часть произведения,
а-1 - целая часть результата.
Полученная при этом цифра целой части результата и будет первой цифрой искомого числа. Умножив теперь дробную часть результата на основание новой системы счисления, получим:
А1р = а-2 + А2,
где А2 - дробная часть произведения,
а-2 - следующая цифра искомого числа.
Следовательно, при переводе выражение (2.2) представляется по схеме Горнера:
А = р-1(а-1 +р-1(а-2 + ... + р-1(а-к+1 + р-1а-к)...)).
Для перевода правильной дроби из одной позиционной системы счисления в другую ее надо последовательно умножать на основание новой системы счисления до тех пор, пока в новой дроби не будет нужного количества цифр, которое определяется требуемой точностью представления дроби. Правильная дробь в новой системе счисления записывается из целых частей произведений получающихся при последовательном умножении, причем первая целая часть будет старшей цифрой новой дроби.
Рассмотрим в качестве примера перевод правильной дроби 0,536 в двоичную, восьмеричную, шестнадцатиричную системы счисления
[0,536]10=[0,10001001]2=[0,422335]8=[0,8937]16
0, | 5362 | 0, | 5368 | 0, | 53616 |
1, | 0722 | 4, | 2888 | 8, | 57616 |
0, | 1442 | 2, | 3048 | 9, | 21616 |
0, | 2882 | 2, | 4328 | 3, | 45616 |
0, | 5762 | 3, | 4568 | 7, | 296 |
1, | 1522 | 3, | 6488 | ||
0, | 3042 | 5, | 184 | ||
0, | 608 |
Перевод дроби в общем случае представляет собой бесконечный процесс. Число цифр в новой системе счисления необходимо определять из условия, что точность представления числа в новой системе должна соответствовать точности в исходной системе.
2.3 Перевод неправильных дробей
При переводе неправильной дроби необходимо отдельно перевести целую и дробную части по вышеизложенным правилам и записать число в новой системе счисления, оставив неизменным положение запятой.
2.4 Перевод чисел из системы счисления в систему с кратным основанием
Если основания систем счисления кратны друг другу, т.е. связаны зависимостью:l=pm, то каждая цифра системы счисления с основанием l может быть представлена m цифрами в системе с основанием p.
Следовательно, для того, чтобы перевести число из исходной системы в новую, основание которой кратно основанию исходной системы, достаточно каждую цифру переводимого числа записать при помощи m цифр в новой системе счисления, если основание исходной системы больше основания новой системы счисления. В противном случае каждые m цифр исходного числа необходимо записать при помощи одной цифры в новой системе счисления, начиная для целых чисел с младшего разряда и для правильных дробей - со старшего.
Пример.
[0,536]10=[0,100’010’010]2=[0,422]8 ; [0,1000’1001’0]2=[0,89]16
[138]10=[10’001’010]2=[212]8: [1000’1010]2=[8А]16
3. Выбор системы счисления для применения в ЭВМ
Очевидно, что непозиционные системы счисления непригодны для применения в ЭВМ в силу своей громоздкости и трудности выполнения арифметических операций.
Из позиционных наиболее удобны однородные. С точки зрения применения в ЭВМ учитываются следующие факторы.
1. Наличие физических элементов, способных изобразить символы системы.
2. Экономичность системы, т.е. количество элементов необходимое для представления многоразрядных чисел.
3. Трудоемкость выполнения арифметических операций в ЭВМ.
4. Быстродействие вычислительных систем.
5. Наличие формального математического аппарата для анализа и синтеза вычислительных устройств.
6. Удобство работы человека с машиной.
7. Помехоустойчивость кодирования цифр на носителях информации.
Исторически сложилось так, что для применения в ЭВМ была выбрана двоичная система счисления, которая наиболее полно соответствует этим критериям.
В современных универсальных ЭВМ применяются как двоичная, так и десятичная системы счисления. Причем цифры последней кодируются двоичными символами, т. е. речь идет в действительности не о десятичной, а о двоично-десятичной системе счисления. Каждая из отмеченных систем имеет свои достоинства и недостатки, а также свои области применения.
Достоинствами двоичной системы счисления относительно двоично-десятичной являются:
1) экономия порядка 20 % оборудования;
2) примерно в 1,5 раза более высокое быстродействие;
3) упрощение логического построения и значительная экономия оборудования в схемах управления и во вспомогательных цепях.
Достоинствами двоично-десятичной системы являются:
1) отсутствие необходимости перевода исходных данных и результатов расчетов из одной системы в другую;
2) удобство контроля промежуточных результатов путем вывода их на индикацию для визуального наблюдения;
3) более широкие возможности для автоматического контроля из-за наличия в двоично-десятичном коде избыточных комбинаций.
Двоичную систему счисления применяют в больших и средних ЭВМ, предназначенных для решения научно-технических задач, для которых характерен большой объем вычислений и сравнительно малый объем исходных данных и результатов вычислений. Ее также целесообразно применять в ЭВМ, предназначенных для управления технологическими процессами.
Двоично-десятичную систему счисления применяют для решения экономических задач, которые характеризуются большим объемом исходных данных, сравнительной простотой и малым объемом выполняемых над ними преобразований и большим количеством результатов вычислений. Эту систему целесообразно также применять в калькуляторах, ЭВМ, предназначенных для инженерных расчетов, а также в персональных ЭВМ.
4. Двоичная система счисления
Под двоичной системой счисления понимается такая система, в которой для изображения чисел используются два символа, а веса разрядов меняются по закону 2+-к, где к - произвольное целое число. Классической двоичной системой является система с символами 0, 1. Ее двоичные цифры часто называют битами. В общем виде все двоичные числа представляются в виде:
А= ∑аі2і, (і от -к до n)
Чтобы овладеть любой системой счисления, надо уметь выполнять в ней арифметические операции. Арифметические операции в двоичной системе счисления выполняются так же, как и в десятичной в соответствии с таблицами поразрядных вычислений.
Сложение в двоичной системе счисления производится по правилам сложения полиномов. Поэтому при сложении чисел А и В i-й разряд суммы Siи перенос Пiиз данного разряда в (i+1) разряд будет определяться в соответствии со следующим выражением:
аі+bі + Пі-1=Sі +Пі+1
аі | bі | Пі-1 | Sі | Пі+1 |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
Таблица умножения двух двоичных чисел полностью определяется двумя правилами:
- умножение любого числа на ноль дает в результате ноль,
- умножение любого числа на 1 оставляет его без изменения, т.е. результат равен исходному числу.
4.1 Навыки обращения с двоичными числами
Хотя все правила выполнения операций в двоичной системе счисления очень просты, но тем не менее при работе с двоичными числами из-за отсутствия навыков возникают разного рода неудобства. Ниже приведены некоторые простые приемы, которые позволяют довольно свободно обращаться с двоичными числами.