Презентация "Кодирование целых чисел"


Подписи к слайдам:
Кодирование числовой информации.

Кодирование целых чисел.

  • Пляшешник А.В.
  • МОУ СОШ №5 города Ржева Тверской области

  • Для работы с числами человек использует в основном две формы для их записи – естественную и экспоненциальную.
  • Экспоненциальная форма записи чисел используется для обозначения очень больших или очень маленьких чисел.
  • Например 0,000002=0,2*10-5 или 1000=103.

Целые числа.

  • Целые числа без знака
  • (только положительные)
  • Целые числа со знаком (положительные и отрицательные)
  • Для хранения чисел в памяти отводится определённое количество разрядов, в совокупности представляющих собой k-разрядную сетку.

Целые числа без знака.

  • Обычно занимают в памяти один или два байта.
  • В однобайтовом формате значения от 000000002 до 111111112 (0…255)
  • Пример 7210=10010002
  • Биты числа
  • 0
  • 1
  • 0
  • 0
  • 0
  • 1
  • 0
  • 0
  • номера разрядов 7 6 5 4 3 2 1 0

Целые числа без знака.

  • В двухбайтовом формате значения
  • от 00000000 000000002
  • до 11111111 111111112
  • (0…65535)
  • Пример 7210=10010002
  • 0
  • 1
  • 0
  • 0
  • 0
  • 1
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Целые числа со знаком.

  • Обычно занимают в памяти компьютера 1, 2 или 4 байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак «+» кодируется 0, а «-» - 1

Целые числа со знаком.

  • В однобайтовом формате значения от -128 до 127.
  • В двухбайтовом формате значения
  • От -32 768 до 32 767.
  • В четырёхбайтовом формате значения от -2 147 483 648 до
  • 2 147 483 647.

Целые числа со знаком.

  • Примеры.
  • 110=12
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 1
  • Знак числа «+»

Целые числа со знаком.

  • В компьютерной технике применяются три формы записи (кодирования) целых отрицательных чисел: прямой код, обратный код, дополнительный код.

Прямой код числа.

  • В знаковый разряд помещается цифра 1, а в разряды цифровой части – двоичный код его абсолютной величины.
  • Пример
  • Прямой код числа -1:
  • 1
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 1
  • Знак числа «-»

Обратный код числа.

  • Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы – нулями.
  • Пример
  • Число: -1.
  • Код модуля числа: 0 0000001.
  • Обратный код числа: 1 1111110.
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 0

Дополнительный код числа.

  • Получается образованием обратного кода с последующем прибавлением единицы к его младшему разряду.
  • Пример
  • Число: -1.
  • Код модуля числа: 0 0000001.
  • Обратный код числа: 1 1111110
  • +1
  • 1 1111111
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1

Как компьютер выполняет арифметические действия над целыми числами.

  • В большинстве компьютеров операция вычитание не используется. Вместо неё производится сложение уменьшаемого с обратным или дополнительным кодом вычитаемого. Это позволяет существенно упростить конструкцию АЛУ.

Примеры:

  • 3 0 0000011
  • 7 0 0000111
  • 10 0 0001010
  • 3 0 0000011
  • -10 1 1110101
  • -7 1 1111000
  • +
  • +
  • +
  • +
  • Обратный код числа -10
  • Обратный код числа -7

Примеры:

  • 10 0 0001010
  • -3 1 1111100
  • 7 0 0000110
  • +
  • +
  • +1
  • 0 0000111
  • Обратный код числа -3
  • Компьютер исправляет полученный первоначально неправильный результат (6 вместо 7) переносом единицы из знакового разряда в младший разряд суммы.

Примеры:

  • -3 1 1111100
  • -7 1 1111000
  • -10 1 1110100
  • +
  • +
  • Обратный код числа -3
  • Обратный код числа -7
  • +1
  • 1 1110101
  • Обратный код числа -10
  • Полученный первоначально неправильный результат (обратный код числа -11 вместо обратного кода числа -10) компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы.
  • При переводе результата в прямой код биты цифровой части числа инвертируются: 1 0001010 = -10

Задание 1.

  • Представить число 21 в однобайтовой разрядной сетке.

Задание 2.

  • Представить число 21 и -21 в двухбайтовой разрядной сетке.