Все числа в ЭВМ должны быть строго определенной длины. Это регулируется понятием РАЗРЯДНАЯ СЕТКА.
Байт 0 | Байт 1 | Байт 2 | Байт 3 | Байт 4 | Байт 5 | Байт 6 | Байт 7 |
Полуслово | |||||||
Слово 32 бит | |||||||
Двойное слово 64 бит |
От разрядной сетки (длины числа) зависит максимальное значение числа.
1 байт – от 000000002 до 111111112 => от 010 до 25510
Полуслово – от 00000000000000002 до 11111111111111112 => от 010 до 65 53510
и т.д.
Представление чисел с фиксированной точкой. Целые + - числа
0 | 1 | 2 | …….. | 13 | 14 | 15 |
Для знака отводится старший разряд.
«+» - разряд = 0
«-» - разряд равен 1
Формат H
16 бит
Формат F
32 бит
0 | 1 | 2 | …….. | 29 | 30 | 31 |
Диапазон представления числа
Формат Н:
1 знаковый разряд + 15 бит для числа=>
От – 1111111111111112 до
+ 1111111111111112 =>
От - 32 76710 до + 32 76710
Домашнее задание:
Конспект читать, знать понятия: разрядная сетка, сколько бит в H и F сетке.
Знать как посчитать максимум и минимум в знаковой сетке любого формата.
Записать в Н сетке:
-35
56
Машинные коды чисел.
Все арифметические операции сведены к сложению и сдвигу.
Для выполнения вычитания используется специальное представление чисел – ДОПОЛНИТЕЛЬНЫЙ код, который суммируется с уменьшаемым.
Машинные коды чисел.
Целые положительные числа хранятся и обрабатываются в ПРЯМОМ коде.
Целые отрицательные хранятся и обрабатываются в ДОПОЛНИТЕЛЬНОМ коде.
Получение дополнительного кода числа в сетке Н.
2910
Получение прямого кода: 2910 = 111012
Запись в Н сетку: 1 0000000000111012
Получение обратного кода: кроме знакового, все 1->0; 0->1
Пк 1 0000000000111012
Ок 1 1111111111000102
4. Получение дополнительного кода: прибавление 1 к обратному коду:
Ок 1 1111111111000102
+ 1
Дк 1 1111111111000112
5. Если при сложении после знакового разряда переносится еще 1 единица, то это переполнение сетки, и эта единица стирается.
Получение дополнительного кода числа в сетке Н.
- 1710
Получение прямого кода: 1710 = 100012
Запись в Н сетку: 1 0000000000100012
Получение обратного кода:
Пк 1 0000000000100012
Ок 1 1111111111011102
4. Получение дополнительного кода:
Ок 1 1111111111011102
+ 1
Дк 1 1111111111011112
Получение дополнительного кода числа в сетке Н.
89510
Получение прямого кода: 89510 = 11011111112
Запись в Н сетку: 1 0000011011111112
Получение обратного кода:
Пк 1 0000011011111112
Ок 1 1111100100000002
4. Получение дополнительного кода:
Ок 1 1111100100000002
+ 1
Дк 1 1111100100000012
Сложение чисел в Пк и Дк.
Число складываются в тех кодах, в которых хранятся: + в Пк, - в Дк
В суммировании участвуют и знаковые разряды.
Если после сложения в знаковом разряде 0, то число +, и результат – его Пк.
Если после сложения в знаковом разряде 1, то число -, и результат – его Дк.
Пк получается после шагов:
Вычесть 1.
Результат инвертировать.
5. Бывает переполнение сетки.
Сложение чисел в Пк и Дк.
А = 2910 В = -1710
Сложение чисел в Пк и Дк.
А = -2910 В = -1710
152
Переводим 152 в 2СС: = 100110002
Н формат: 16 бит
Число положительное, в знаковый разряд 0
0
Заполняем сетку с конца двоичными числами
1 0 0 1 1 0 0 0
Оставшиеся разряды заполняем нулями
0 0 0 0 0 0 0
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.