- •ЛЕКЦИЯ 2
- •Количество информации
- •Пример 1
- •ПРИМЕР 2
- •Единицы измерения информации
- •Кодирование чисел в ЭВМ
- •Целые числа без знака
- •Целые числа со знаком
- •Прямой и дополнительный коды
- •Прямой/дополнительный коды
- •ПРИМЕР
- •Замена операции вычитания сложением
- •Кодирование вещественных чисел
- •Кодирование числовых данных
- •Операции с плавающей точкой
- •Операции с плавающей точкой
- •Перевод дробной части вещественного числа в двоичную форму
- •Кодирование текстовых данных
- •Кодирование графических данных
- •Растровая графика
- •Векторная графика
- •Векторная графика
- •Фрактальная графика
- •Примеры фрактальной графики
- •Современные системы цветопередачи
- •Примеры задач
- •Примеры задач
Целые числа со знаком
•Для хранения целых чисел со знаком отводится один, два или три байта, причем старший (левый) разряд
отводится под знак числа
•Если число положительное, то в знаковый разряд
записывается 0, если отрицательное, то 1
•Такое представление называется прямым кодом числа
•Пример: Прямой код числа -5 в однобайтовом формате:
-510 = 1 0000 101
• Диапазоны изменения целых чисел со знаком:
1 |
байт: |
- 27 …+27 - 1 |
-128 |
10 |
…127 |
|
|
2 |
байта: |
- 215 …+215 -1 |
|
|
10 |
|
|
- 32768 |
…+32767 |
10 |
|||||
4 |
байта: |
- 231…+231–1 |
-2 147 |
|
10 |
|
|
483 648 …2 147 483 647 |
Прямой и дополнительный коды
•Для того, чтобы реализовать в ЭВМ операцию
вычитания отрицательные числа преобразуют в
дополнительный код
•Дополнительный код n-разрядного отрицательного числа Аq, равен qn - |A|
•Пример из десятичной арифметики: X=8410, Y= -3210. Вычислить Z = X + Y = 5210
•Найдем дополнение числа Y до 100:
Y1 = 102 - | Y | = 68
(дополнительный код в десятичной системе)
•Вычислим Z1 = X+Y1 = 84 + 68 = 152
•Отбросим единицу в старшем разряде: Z=52
Прямой/дополнительный коды
Дополнительный код отрицательного числа:
•Отбросить знаковый разряд (т.е. взять модуль)
•Все разряды инвертировать
•К результату прибавить 1
Обратное преобразование в прямой код:
•Из результата вычесть 1
•Все разряды инвертировать
ПРИМЕР
•Дополнительный код отрицательное число -7
•Прямой код числа 7 = | -7| : 0 000 0111
• |
Инвертируем : |
1 111 1000 |
• |
Добавим к результату 1: |
1 111 1001 |
•Дополнительный код отрицательного числа -7
равен 1 111 1001
Вычислим 510 – 710 = -210
Для этого к прямому коду числа 5 надо прибавить дополнительный код числа -7
Результат перевести в прямой код