Рассчитайтесь по порядку в двоичной системе счисления. Вспомните алгоритм перевода десятичных чисел в двоичную систему счисления.
Кодирование числовой информации
Кодирование целых чисел Для работы с числами человек использует в основном две формы для их записи – естественная и экспоненциальная. Естественной формой называется привычная нам, обычная запись чисел. Экспоненциальная форма чисел обычно используется для записи либо очень больших, либо очень маленьких чисел (1000 = 10 3 ).
Максимальное положительное число ( с учетом выделения одного разряда на знак ) для целых чисел со знаком в n- разрядном представлении равно : А = 2 n-1 – 1 Для представления отрицательных чисел используется дополнительный код. Дополнительный код отрицательного числа А, хранящегося в n ячейках, равен 2 n – l А l
Алгоритм получения дополнительного кода отрицательного числа Модуль числа записать в прямом коде в n двоичных разрядах Получить обратный код числа, для этого значение всех битов инвертировать ( все единицы заменить на нули и все нули заменить на единицы ) К полученному обратному коду прибавить единицу.
Формат с фиксированной точкой ФорматКоличество разрядов (n), отводимое для хранения числа Минимальное число Максимальное число Интервал чисел Целые числа без знака Целые числа со знаком
Формат с фиксированной точкой ФорматКоличество разрядов (n), отводимое для хранения числа Минимальное число Максимальное число Интервал чисел Целые числа без знака 1 байт (n=8) 2 байта (n=16) Целые числа со знаком 2 байта (n=16) 4 байта (n=32)
Формат с фиксированной точкой ФорматКоличество разрядов (n), отводимое для хранения числа Минимальное число Максимальное число Интервал чисел Целые числа без знака 1 байт (n=8) 02 n -1=255 2 байта (n=16) 02 n -1=65535 Целые числа со знаком 2 байта (n=16) -2 n-1 = n-1 -1= байта (n=32) 2 n-1 = = n-1 -1= =
Формат с фиксированной точкой ФорматКоличество разрядов (n), отводимое для хранения числа Минимальное число Максимальное число Интервал чисел Целые числа без знака 1 байт (n=8) 02 n -1=2550…255 2 байта (n=16) 02 n -1=655350…65535 Целые числа со знаком 2 байта (n=16) -2 n-1 = n-1 -1= … байта (n=32) 2 n-1 = = n-1 -1= = …
Обратим внимание Знак положительного числа «+» кодируется нулем, а знак отрицательного числа «-» кодируется единицей. Число в разрядной сетке располагается так, что его младший двоичный разряд записывается в крайний правый бит. Если количество разрядов в разрядной сетке превышает количество разрядов числа, оставшиеся ряды заполняются нулями.
Пример 1 Представить число в однобайтовой разрядной сетке. 1. Переведем число в двоичную систему счисления (21 10 = ). 2. Нарисуем восьмиразрядную сетку (1 байт = 8 бит ) 3. Впишем число, начиная с младшего разряда. 4. Заполним оставшиеся разряды нулями номер разряда
Пример 2 Представьте число и в двухбайтовой разрядной сетке. Представление положительного числа Переведем число в двоичную систему счисления (21 10 = ). 2. Нарисуем шестнадцатиразрядную сетку (2 байта = 16 бит ) 3. Впишем число, начиная с младшего разряда и указав код знака «+» в старшем разряде. 4. Заполним оставшиеся разряды нулями номер разряда номер разряда номер разряда
Представление отрицательного числа Переведем модуль числа в двоичную систему счисления (21 10 = ). 2. Нарисуем шестнадцатиразрядную сетку (2 байта = 16 бит ) 3. Получим внутреннее представление модуля числа – прямой код числа. 4. Найдем обратный код числа, заменив в прямом коде нули на единицы, а единицы на нули : – обратный код. 5. Найдем дополнительный код числа, прибавив к обратному коду единицу : 6. Впишем дополнительный код в разрядную сетку номер разряда номер разряда
Кодирование вещественных чисел Недостатком представления чисел в формате с фиксированной запятой является конечный диапазон представления величин, недостаточный для решения математических, физических, экономических и других задач. Поэтому для представления вещественных чисел используется другой формат.
Формат с плавающей точкой ( запятой ) Вещественные числа хранятся и обрабатываются в формате с плавающей запятой. Положение запятой в записи числа может меняться. Формат числа базируется на экспоненциальной записи, в которой может быть представлено любое число следующим образом : A = mq n, m – мантисса ( отвечает условию 1/n m < 1, мантисса должна быть правильной дробью и иметь после запятой цифру отличную от нуля ), q – основание СС, n – порядок числа.
Число в формате с плавающей точкой занимает в памяти компьютера четыре ( число обычной точности ) байта или восемь ( число двойной точности ) байта. Для записи в разрядной сетке выделяются разряды для знака порядка и мантиссы, для порядка и для мантиссы байт 2 байта 3 байта 4 байта 0 Зн ак по ря дк а порядокЗн ак ма нт ис сы мантисса
Пример 3 Представить число 250, в формате с плавающей точкой в 4- байтовой разрядной сетке : 1. Переведем число в двоичную систему счисления с 23 значащими цифрами : 250, = , Нормализуем мантиссу : , = 0, · , · ( мантисса положительная ) ( порядок положительный ) 4. Запишем число в 32- разрядной сетке : Зн ак по ря дк а порядокЗн ак ма нт ис сы мантисса
Практические задания 1 Представьте следующие числа без знака в формате с фиксированной точкой в однобайтовой разрядной сетке : А ) ; Б ) Ответ : А ) Б )
Практические задания 2. Представьте следующие числа со знаком в двухбайтовой разрядной сетке в формате с фиксированной точкой. А ) , ; Б ) , Ответ : А ) ; Б ) ;
Практические задания 3 Представьте следующие числа в формате с плавающей точкой и нормализованной мантиссой : 1) 0, ( ответ : 0,1289 ·10 -2 ); 2) 987, ( ответ : 0, ·10 3 ); 3) 0, ( ответ : 0,1011 ·10 -1 ); 4) 1101, ( ответ : 0, · ).
Практические задания 4 Представьте двоичные числа из задачи 3 в четырехбайтовой разрядной сетке : 1) 0,1011 ·10 -1 ; 2) 0, · Ответ : 1) 2)
Домашнее задание § , 2.28