Представление информации в ЭВМ

 

{Первая ЭВМ была создана в 1945 году в баллистической лаборатории США. В 1948 году она была рассекречена. В СССР первая ЭВМ была создана в 1951 году. Это была первая ЭВМ в континентальной Европе. Изобретение ЭВМ называют главным достижением человечества в ХХ веке.}

Отличительными особенностями ЭВМ являются:

1.Возможность выполнения заданных действий без участия человека.

2.Возможность сохранять информацию в памяти.

Память можно представить как совокупность пронумерованных (т.е. имеющих адрес) ячеек, в каждой из которых имеется либо отсутствует электрический заряд. При этом наличие электрического заряда в ячейке условно принимается за двоичную цифру «1», отсутствие электрического заряда – за двоичную цифру «0». Таким образом, можно считать, что память есть совокупность адресованных ячеек, в которых хранятся двоичные цифры 0 и 1.

Опр. 1. Ячейка памяти ЭВМ, являющаяся минимальной структурной единицей информации, называется битом.

{Однако процессор ЭВМ работает не с отдельными битами, а с группами по 8 бит.}

Опр. 2. Биты, объединенные в группы по 8, называются байтами[1].

Более крупными единицами информации являются килобайт (1024 байт, или 210 байт), мегабайт (1024 килобайта, или 220 байт) и гигабайт (1024 мегабайт, или 230 байт).

В связи с вышесказанным, любая информация для хранения в памяти ЭВМ должна быть переведена в цифровую двоичную форму.

 

Вопрос № 8 Представление числовой информации

Рассмотрим целые числа. В персональных компьютерах типа IBM PC (далее ПК) различают представление целых чисел без знака (неотрицательных целых чисел) и целых чисел со знаком. {Это связано с тем, что в заданном объеме памяти можно представить больший диапазон чисел без знака, чем чисел со знаком.}

Числовая информация в ПК кодируется в двоичной системе счисления. В отличие от привычной для нас десятичной системы счисления, где для записи числа используется 10 цифр от 0 до 9, в двоичной системе счисления для записи числа используются только две цифры: 0 и 1.

Для перевода десятичного числа в двоичную систему счисления необходимо последовательно делить его в столбик на 2 с остатком до тех пор, пока в результате не получится 1. После этого необходимо последовательно выписать последний полученный результат деления (1), а также полученные остатки (от последнего остатка к первому).

Пример 1. Представить число 149 в двоичной системе счисления.

Следовательно, 149(10) = 10010101(2)

 

Для перевода двоичного числа anan-1an-2…a1a0 в десятичную систему счисления используется формула an×2n+an-1×2n-1+…+a1×21+a0×20

 

Пример 2. Перевести число 1001(2) в десятичную систему счисления.

10010101(2)=1×20+0×21+1×22+0×23+1×24+0×25+0×26+1×27=1+4+16+128.

 

Очевидно, что n бит позволяют закодировать 2n различных чисел. Таким образом, 1 байта достаточно, чтобы закодировать числа от 0 до 255, 2 байт – от 0 до 65 535, 4 байт – от 0 до 4 294 967 295 (проверить самостоятельно).

Вопрос №9 Теперь рассмотрим целые числа со знаком. В ПК целые числа со знаком записываются в так называемом дополнительном коде: неотрицательные числа записываются так же, как и целые без знака, а отрицательные представляются беззнаковым числом:

где n – количество бит, отводимых для записи числа x.

 

Пример 3. В случае n=8

доп(0) = 0 = 00000000

доп(1) = 1 = 00000001

доп(2) = 2 = 00000010

доп(3) = 3 = 00000011

… … … … … … … … … … …

доп(126) = 126 = 01111110

доп(127) = 127 = 01111111

––––––––––––––––––––––––––––––––––––––

доп(-1) = 28-1 = 255 = 11111111

доп(-2) = 28-2 = 254 = 11111110

доп(-3) = 28-3 = 253 = 11111101

… … … … … … … … … … …

доп(-126) = 28-126 = 130 = 10000010

доп(-127) = 28-127 = 129 = 10000001

доп(-128) = 28-128 = 128 = 10000000

 

Из примера видно, что в дополнительном коде самый левый бит играет роль знакового: он равен нулю для неотрицательных чисел и равен единице для отрицательных. Таким образом, в случае целых чисел со знаком 1 байта достаточно, чтобы закодировать числа от -128 до +127, 2 байт – от –32 768 до +32 767, 4 байт – от –2 147 483 648 до +2 147 483 647 (проверить самостоятельно, сравнить со случаем целых чисел без знака).



php"; ?>