Смекни!
smekni.com

Информатика и компьютерная техника (стр. 4 из 15)

Таблица 1. - Изображение чисел в позиционных системах счисления, применяемых в компьютерах

Десятичное

Р=10
ДвоичноеР=2 ВосьмеричноеР=8 Шестнадцатеричное Р=16
1 2 3 4
0123456789101112131415 01101110010111011110001001101010111100110111101111 012345671011121314151617 0123456789АВСDEF
16 10000 20 10

Перевод чисел из одной системы счисления в другую

При решении задач на ЭВМ исходные данные обычно задаются в десятичной системе счисления; в этой же системе, как правило, нужно получить и результат решения задачи. Но если ЭВМ работает в какой-либо другой системе счисления, например в двоичной, то возникает необходимость перевода чисел из одной системы счисления в другую. При рассмотрении правил такого перевода мы ограничимся только такими системами счисления, у которых базисными числами являются последовательные целые числа от 0 до P-1 включительно, где P – основание системы счисления.

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

56(10)(2) (8)(16)

56 2
56 28 2
0
28 14 2
0 14 7 2
0 6 3 2
1 2 1 последнее частное
1

Ответ: 56(10)=111000(2);

56 8
56 7
0

Ответ: 56(10)=70(8).

56 16
48 3
8

Ответ: 56(10)=38(16).

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

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

Перевести:

1) 0,75(10)(8)

0,
758
6, 00

Ответ: 0,75(10)=0,6(8)

2) 0,7(10)(16)

0, 716
11,
2
16
3, 2

Ответ: 0,7(10)=0,В(3)(16)

2) 0,4(10)(2)

0, 42
0,
82
1, 6

Ответ: 0,4(10)=0,01(2)

Примеры для отработки навыков

1) 0,45(10)(2);2) 0,6(10)(8);3) 0,95(10)(16);

4) 425,6(10)(8);5) 147,4(10)(2);6) 5827,8(10)(16).

Перевод числа, записанного в системе счисления P, в десятичную систему выполняется с учетом веса каждого разряда или путем записи числа в виде разложения по степеням основания P. Например,

1) 1101(2)(10)

1101(2)=1· 103 + 1· 102 + 0·101+ 1· 100 (2) →1·8+1·4+0·2+1(10)=13(10);

или по схеме:

двоичное число 1 1 0 1(2)десятичное число

8 4 2 1

1х1=1

0х2=0

1х4=4

1х8=8

Ответ: 13(10)

Во втором случае перевод выполняется с учетом веса каждого разряда.

2) 354,4(8) =3·82+5·81+4·80+4·8-1(10)=192+40+4+0,5(10)=236,5(10);

3) A1F,8(16)=A·162+1·161+F·160+8·16-1(16) = 10·162+1·16+15+8/16(10)= =2591,5(10).

Примеры для отработки навыков.

1) 1А0,Е(16)(10);2) –1011101,101(2)(10); 3) 101,1(8)(10)

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

Поскольку основание восьмеричной системы 8=23, то разложение числа по степеням 8 легко переводится в разложение по степеням 2 и наоборот. При этом каждая цифра восьмеричной системы (0,…,7) имеет свое разложение по степеням 2. Например,

2(8)=0·22+1·21+0·20=(010)2 6(8)=1·22+1·21+0·20=(110)2

Тогда переход от восьмеричного представления числа в двоично-восьмеричное осуществляется путем замены каждой восьмеричной цифры соответствующей двоичной триадой.

720(8)=7·82+2·81+0·80=(1·22+1·2+1·20)26+(0·22+1·2+0·20)·23+(0·22+0·21+0·20)=1·28+1·27+1·26+0·25+1·24+0·23+0·22+0·21+0·20=111010000(2)=11 010 000(2).

7 2 0

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

101 111 011, 001 100(2) = 573,14(8)

Четыре двоичных разряда позволяют закодировать любую десятичную цифру и получить 16 различных кодовых комбинаций, из которых 10 (от 0000 до 1001) используются для представления десятичных цифр. Кодовые комбинации, соответствующие числам 10 и более, условно обозначаются первыми буквами латинского алфавита (графа 4 таблицы 1). Так получается шестнадцатеричная система счисления. В программах для ЭВМ, чтобы не выписывать длинную вереницу нулей и единиц, вместо каждых четырех разрядов (тетрад) записывается их шестнадцатеричный эквивалент. Например, шестнадцатеричный эквивалент числа 0101 0001 1111 0011 будет 51F3.

Арифметические операции в электронных вычислительных машинах

В вычислительных машинах вся информация представляется в двоичной форме, а для выполнения вычислений используется непосредственно двоичная система счисления.

Арифметические операции с двоичными числами производятся так же, как с десятичными, с той лишь разницей, что в десятичной системе цифры каждого разряда возрастают в порядке 1,2,…,8,9, а при достижении величины 10 в этом разряде записывается 0 и делается перенос единицы в старший разряд. В двоичной системе используются только два символа 0 и 1, поэтому цифры в каждом разряде могут изменяться только в пределах этих двух значений, после этого происходит перенос в более старший разряд.

Таблица 1. -Таблица сложения двух бинарных чисел, имеет следующий вид:


Здесь 10 – это 2 в двоичной системе счисления.

Например:

1110,01(2)10111,011(2)

+ 1010,10(2) + 11101,101(2)

11000,11(2) 110101,000(2)

Обычно для представления положительных и отрицательных чисел используются величины со знаками, причем при представлении положительных чисел знак «+» можно опускать, а знак «–» при изображении отрицательных чисел должен ставиться, что для реализации на вычислительных машинах неудобно. В вычислительных машинах используется форма представления чисел в дополнительных кодах, а знаки «+» и «–» используются для указания арифметических операций.

В двоичной системе счисления числа могут быть представлены в форме дополнения до основания системы счисления, то есть до 2. В двоичном дополнительном коде всем положительным числам предшествует 0, а отрицательным числам – единица. Таким образом, при представлении чисел в дополнительном коде крайний левый бит (старший) является знаковым: 0 означает положительное число, а 1 – отрицательное.