Представление информации в ЭВМ
{Первая ЭВМ была создана в 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. Перевести число 10010101(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 (проверить самостоятельно, сравнить со случаем целых чисел без знака).