Представление чисел в компьютере. Естественная форма числа. Формат с фиксированной точкой.
Все числа в ЭВМ должны быть строго определенной длины. Это регулируется понятием РАЗРЯДНАЯ СЕТКА.
От разрядной сетки (длины числа) зависит максимальное значение числа. 1 байт – от 000000002 до 111111112 => от 010 до 25510Полуслово – от 00000000000000002 до 11111111111111112 => от 010 до 65 53510и т.д.
Представление чисел с фиксированной точкой. Целые + - числа Для знака отводится разряд: «+» - разряд = 0 «-» - разряд равен 1
Диапазон представления числаФормат Н: 1 знаковый разряд + 15 бит для числа=>От – 1111111111111112 до + 1111111111111112 =>От - 32 76710 до + 32 76710
Примеры:Записать в формате Н числа:152- 65- 485
Домашнее задание: Конспект читать, знать понятия: разрядная сетка, сколько бит в H и F сетке.Знать как посчитать максимум и минимум в знаковой сетке любого формата.Записать в Н сетке:-3556
Проверка домашнего задания Х10 = ∑ цифр даты рожденияЗаписать в Н сетке:+ Х10- Х10
Машинные коды чисел. Все арифметические операции сведены к сложению и сдвигу.Для выполнения вычитания используется специальное представление чисел – ДОПОЛНИТЕЛЬНЫЙ код, который суммируется с уменьшаемым.
Машинные коды чисел. Целые положительные числа хранятся и обрабатываются в ПРЯМОМ коде.Целые отрицательные хранятся и обрабатываются в ДОПОЛНИТЕЛЬНОМ коде.
Получение дополнительного кода числа в сетке Н. 2910Получение прямого кода: 2910 = 111012Запись в Н сетку: 1 0000000000111012 Получение обратного кода: кроме знакового, все 1->0; 0->1Пк 1 0000000000111012Ок 1 11111111110001024. Получение дополнительного кода: прибавление 1 к обратному коду:Ок 1 1111111111000102 + 1Дк 1 11111111110001125. Если при сложении после знакового разряда переносится еще 1 единица, то это переполнение сетки, и эта единица стирается.
Получение дополнительного кода числа в сетке Н. - 1710Получение прямого кода: 1710 = 100012Запись в Н сетку: 1 0000000000100012 Получение обратного кода: Пк 1 0000000000100012Ок 1 11111111110111024. Получение дополнительного кода: Ок 1 1111111111011102 + 1Дк 1 1111111111011112
Получение дополнительного кода числа в сетке Н. 89510Получение прямого кода: 89510 = 11011111112Запись в Н сетку: 1 0000011011111112 Получение обратного кода: Пк 1 0000011011111112Ок 1 11111001000000024. Получение дополнительного кода: Ок 1 1111100100000002 + 1Дк 1 1111100100000012
Сложение чисел в Пк и Дк. Число складываются в тех кодах, в которых хранятся: + в Пк, - в ДкВ суммировании участвуют и знаковые разряды.Если после сложения в знаковом разряде 0, то число +, и результат – его Пк.Если после сложения в знаковом разряде 1, то число -, и результат – его Дк. Пк получается после шагов:Вычесть 1.Результат инвертировать.5. Бывает переполнение сетки.
Сложение чисел в Пк и Дк. А = 2910 В = -1710Получаем коды: Пка = 0000000000011101; Дкв = 1111111111101111Складываем:00000000000111011111111111101111 100000000000011003. В знаковом разряде 0 , сл-но, число положительное, результат – Пк.4. Проверка: Пк = 11002 = 1210 = 29-17
Сложение чисел в Пк и Дк. А = -2910 В = -1710Получаем коды: Дка = 1111111111100011; Дкв = 1111111111101111Складываем:11111111111000111111111111101111 111111111110100103. В знаковом разряде 1 , сл-но, число отрицательное, результат – Дк.4. Получаем Пк:1111111111010010- 1 1111111111010001 -> инверсия 00000000001011104. Значащие разряды 1011102 = 4610
Домашнее задание А = 25 В = 19Получить в сетке Н:А – ВВ – А
152 Переводим 152 в 2СС: = 100110002Н формат: 16 битЧисло положительное, в знаковый разряд 0Заполняем сетку с конца двоичными числамиОставшиеся разряды заполняем нулями
- 65 Переводим 65 в 2СС: = 10000012Н формат: 16 битЧисло отрицательное, в знаковый разряд 1Заполняем сетку с конца двоичными числамиОставшиеся разряды заполняем нулями