
Практическая работа №4. Представление числовой информации в цифровых автоматах
Информация в памяти ЭВМ записывается в форме цифрового двоичного кода. С этой целью ЭВМ содержит большое количество ячеек памяти и регистров для хранения двоичной информации. Информация, хранимая в такой ячейке, называется словом.
Представление целых чисел в памяти эвм
Для представления целых чисел в памяти ЭВМ используется естественная форма (форма с фиксированной запятой). С фиксированной запятой все числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой (точки), отделяющей целую часть от дробной. В общем случае разрядная сетка ЭВМ с фиксированной запятой имеет вид:
Если в результате операции получится число, выходящее за допустимый диапазон, происходит переполнение разрядной сетки, что нарушает нормальное функционирование вычислительной машины.
Целые числа могут представляться в компьютере без знака или со знаком.
Целые числа без знака обычно занимают в памяти компьютера один или два байта.
Таблица 10. Диапазон значений целых чисел без знака в памяти ЭВМ
Целые числа со знаком занимают в памяти компьютера 1, 2 или 4 байта.
Таблица 11. Диапазон значений целых чисел со знаком в памяти ЭВМ
В цифровых автоматах применяются три формы кодирования целых чисел со знаком: прямой код, дополнительный код, обратный код. Представление положительных чисел в прямом, обратном и дополнительном кодах, совпадает.
Прямой n-разрядный двоичный код
Прямой n-разрядный двоичный код отличается от двоичного тем, что в нем отводится один самый старший разряд для знака, а оставшиеся n-1 разрядов - для значащих цифр. Значение знакового разряда равно 0 для положительных чисел, и 1 - для отрицательных.
Прямой код для положительных чисел получается так: число переводится в двоичную систему счисления, а затем его двоичная запись слева дополняется таким количеством незначащих нулей, сколько требует тип данных, к которому принадлежит число.
Число 247910 = 1001101011112
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
Прямой код целого отрицательного числа получают из прямого кода модуля числа изменением старшего разряда на 1.
-2479 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
Обратный код двоичного числа
Обратный код двоичного числа получается инвертированием всех цифр двоичного кода абсолютной величины числа: нули заменяются единицами, а единицы — нулями. При этом, необходимо помнить, что все операции с отрицательными числами выполняются в формате машинного слова. Это значит, что к двоичному числу слева дописываются нули до нужного количества разрядов.
-110
-12710
-247910
|
Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные десятичные числа.