Для преобразования целого десятичного числа в двоичное необходимо разделить его на основание новой системы счисления (S=2). Полученное частное снова делится на основание новой системы счисления, до тех пор, пока частное, полученное в результате очередного деления, не будет меньше основания новой системы счисления. Последнее частное (являющееся старшим значащим разрядом) и все полученные остатки от деления составляют число в новой системе счисле-
ния [1].
Пример:
Перевести целое десятичное число 10(10) в двоичное
число.
10 |
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
10 |
|
5 |
|
2 |
|
|
|
МЗР 0 |
|
4 |
|
|
|
||
|
2 |
|
2 |
|
|||
|
1 |
|
2 |
1 |
т.е. 10(10)=1010(2) |
||
|
|
|
0 |
|
|
||
|
|
|
|
|
|||
СЗР
Для перевода дробных чисел (или дробных частей вещественных чисел) требуется другая процедура преобразования.
Пример:
Десятичное число 0.375(10) преобразовать в двоичное
число.
1.Умножим дробь на основание новой системы счисле-
ния S = 2: 2*0.375 = 0.75.
2.Если результат умножения меньше единицы, то СЗР присваивают значение 0. Если - больше единицы, то присваивают значение 1. Поскольку 0.75<1, то СЗР=0.
3.Результат предыдущей операции вновь умножаем на основание новой системы счисления 2. Если бы он был больше единицы, то в этой операции умножения
4
участвовала бы только его дробная часть. В данном случае: 2*0.75=1.5.
4.Поскольку 1.5>1, то ближайшему разряду справа от СЗР присваивается значение один, а следующая операция умножения производится только над дробной частью числа 1.5, т.е. над числом 0.5: 2*0.5=1.
5.Шаги описанной процедуры повторяются до тех пор, пока либо результат умножения не будет точно равен 1 (как в рассматриваемом примере), либо не будет достигнута требуемая точность.
Перевод чисел из десятичной системы в двоичнодесятичную весьма прост и заключается в замене каждой цифры двоичной тетрадой.
Пример:
Записать десятичное число 572.38(10) в двоичнодесятичной системе счисления.
5 |
7 |
2. |
3 |
8(10) 010101110010.00111000(2 10) |
0101 |
0111 |
0010 |
0011 |
1000 |
Обратный перевод также прост: необходимо двоичнодесятичное число разбить на тетрады от точки влево (для целой части) и вправо (для дробной), дописать необходимое число незначащих нулей, а затем каждую тетраду записать в виде десятичной цифры.
Пример:
Записать двоично-десятичное число 10010.010101(2-10) в десятичной системе счисления.
0001 |
0010. |
0101 |
0100(2 10) 12.54(10) |
1 |
2 |
5 |
4 |
Перевод чисел из двоично-десятичной в двоичную систему осуществляется по общим правилам, описанным выше.
5
Поскольку 8=23, то каждый восьмеричный символ можно представить трехбитовым двоичным числом. Для перевода числа из двоичной системы счисления в восьмеричную необходимо разбить это число влево (для целой части) и вправо (для дробной) от точки (запятой) на группы по три разряда (триады) и представить каждую группу цифрой в восьмеричной системе счисления. Крайние неполные триады дополняются необходимым количеством незначащих нулей.
Пример:
Двоичное число 10101011111101(2) записать в восьмеричной системе счисления.
010 |
101 |
011 |
111 |
101(2) 25375(8) |
2 |
5 |
3 |
7 |
5 |
Перевод из восьмеричной системы счисления в двоичную систему осуществляется путем представления каждой цифры восьмеричного числа трехразрядным двоичным числом (триадой).
Для перевода числа из двоичной системы счисления в шестнадцатеричную, необходимо разбить это число влево и вправо от точки на тетрады и представить каждую тетраду цифрой в шестнадцатеричной системе счисления.
Пример:
Двоичное число 10101011111101(2) записать в шестнадцатеричной системе.
0010 |
1010 |
1111 |
1101(2) 2AED(16) |
2 |
A |
E |
D |
Для перевода числа из шестнадцатеричной системы счисления в двоичную, необходимо наоборот каждую цифру этого числа заменить тетрадой.
6
Рассмотрим двоичную арифметику, а именно операции сложения, умножения, вычитания и деления.
Сложение
Как и в десятичной системе счисления, сложение двоичных чисел начинается с правых (младших) разрядов. Если результат сложения цифр МЗР обоих слагаемых не помещается в этом же разряде результата, то происходит перенос. Цифра, переносимая в соседний разряд слева, добавляется к его содержимому. Такая операция выполняется над всеми разрядами слагаемых от МЗР до СЗР [2].
Пример:
Сложим два числа в десятичном и двоичном представлении (формат - 1 байт).
Перенос (единицы) |
11 |
1111111 |
Слагаемое 1 |
099(10) |
01100011(2) |
Слагаемое 2 |
095(10) |
01011111(2) |
Сумма |
194(10) |
11000010(2) |
Операция получается громоздкая со многими переносами, но удобная для ЭВМ.
Вычитание
Операция вычитания двоичных чисел аналогична операции в десятичной системе счисления. Операция вычитания начинается, как и сложение, с МЗР. Если содержимое разряда уменьшаемого меньше содержимого одноименного разряда вычитаемого, то происходит заем 1 из соседнего старшего разряда. Операция повторяется над всеми разрядами операндов от МЗР до СЗР [2].
7
Пример: |
|
|
(формат - 1 байт) |
|
|
Заем (единица) |
1 |
01100000 |
Уменьшаемое |
109(10) |
01101101(2) |
Вычитаемое |
049(10) |
00110001(2) |
Разность |
060(10) |
00111100(2) |
Умножение
Как и в десятичной системе счисления, операция перемножения двоичных многоразрядных чисел производится путем образования частичных произведений и последующего их суммирования. Частичные произведения формируются в результате умножения множимого на каждый разряд множителя, начиная с МЗР. Каждое частичное произведение смещено относительно предыдущего на один разряд. Поскольку умножение идет в двоичной системе счисления, каждое частичное произведение равно либо 0 (если в соответствующем разряде множителя стоит 0), либо является копией множимого, смещенного на соответствующее число разрядов влево (если в разряде множителя стоит 1). Поэтому умножение двоичных чисел идет путем сдвига и сложения. Таким образом, количество частичных произведений определяется количеством единиц в множителе, а их сдвиг - положением единиц (МЗР частичного произведения совпадает с положением соответствующей единице в множителе). Положение точки в дробном числе определяется так же, как и при умножении десятичных чисел [2].
8