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

Обновлено: 04.07.2024

Любая информация в памяти компьютера представляется с помощью нулей и единиц, то есть с помощью двоичной системы счисления. Первоначально компьютеры могли работать только с числами. Теперь это числа, тексты, графические объекты, видеоинформация.
Работа с данными сводится любого типа к обработке двоичных чисел – чисел, записываемых с помощью двух цифр – 0и 1.
В компьютере различаются два типа числовых величин: целые числа и вещественные числа. Различаются способы представления в памяти компьютера.
Они называются:

  1. форма с фиксированной точкой (применяется к целым числам)
  2. форма с плавающей точкой (применяется к вещественным числам).

В отдельной части памяти компьютера хранится информация. Данная часть памяти компьютера будем называть ячейкой. Минимальный размер ячейки, где может храниться наша информация – 1 байт или 8 бит.
Давайте попробуем представить число 1510 в двоичной системе счисления, для того чтобы дальше мы могли с вами представить данное число, как будет выглядеть число в памяти компьютера.
1510=11112
А теперь запишем это число в восьми разрядную сетку ячейки. Запись в ячейку мы начинаем с конца, то есть последнюю цифру нашего числа мы записываем в последний разряд ячейки, потом предпоследнюю цифру в предпоследний разряд ячейки и таким образом пока не закончится наше число.

Мы с вами видим при записи это числа у нас возникли проблема в том, что наше полученное число состоит из четырех цифр, а нам надо записать восьмиразрядное число, пустые разряды мы заполняем нулями.
Для представлении со знаком самый старший (левый) бит отводиться под знак числа, остальные разряды – под само число. Если число положительное, то знаковый разряд помещается 0, если отрицательное – 1.
Также максимальное целое положительное число помещающееся в восьми разрядную сетку равно 127.
Мы рассмотрели как представляются целые положительные числа, теперь пришло время рассмотреть целые отрицательные числа.
Для того чтобы представить целые отрицательные числа используется дополнительный код.
Для того чтобы получить дополнительный код, нужно знать следующий алгоритм:

  1. записать внутреннее представление соответствующего ему положительного числа
  2. записать обратный код полученного числа заменой во всех разрядах 0 на 14, 1 на 0.
  3. к полученному числу прибавить 1.

Пример:
Определим внутреннее представление числа -1510 в восьмиразрядной сетки.

  1. Запишем внутреннее представление числа 1510 – 00001111
  2. Запишем обратный код – 11110000
  3. К полученному числу прибавим 1 – 11110001

111100012 это и есть представление числа -1510
Мы с вами учились записывать числа в восьмиразрядную сетку, но бывают и 16-разрядной сетки и 32-разрядной сетки.
В восьмиразрядной сетки можно получить числа диапазоном -127<=X<=127.
В 16-рядной сетки можно получить числа диапазоном -32768<=X<=32768
В 32-разрядной сетки можно получить числа диапазоном -2147483648<=X<=2147483647

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

Диапазоны значений целых чисел со знаком для одно-, двух- и четырехбайтового форматов приведены в табл. 4.2.

Таблица 4.2. Диапазоны значений целых чисел со знаком

Формат целого числа со знаком, байт Диапазон
Запись с порядком В обычной записи
-2 7 . 2 7 -1 -128 . 127
-2 15 . 2 15 -1 -32768 . 32767
-2 31 . 2 31 -1 -2147483648 . 2147483647

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

Рассмотрим перечисленные форматы на примере однобайтового представления.

Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково – двоичными кодами с цифрой 0 в знаковом разряде.

Пример 4.2. Число 4510 = 1011012. Так как число положительное, то в старшем разряде стоит 0. Число 45 в прямом, обратном и дополнительном кодах выглядит одинаково:

Биты числа
Номер разряда

Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.

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

Пример 4.3. Число -4510 = -1011012. Так как число отрицательное, то в старшем разряде стоит 1:

Биты числа
Номер разряда

Обратный код получается инвертированием всех цифр двоичного кода абсолютной величины числа: нули заменяются единицами, а единицы — нулями. В знаковом разряде ставится 1.

Пример 4.3 (продолжение 1). Абсолютная величина: 0101101, после инвертирования: 1010010. Получаем обратный код числа:

Биты числа
Номер разряда

Дополнительный код получается из обратного кода путем прибавления единицы к его младшему разряду.

Пример 4.3 (продолжение 2). Мы уже имеем обратный код, прибавим к нему 1, получим дополнительный код числа -4510:

Биты числа
Номер разряда

Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся и обрабатываются. При выводе таких чисел из внутреннего представления машины во внешнее происходит обратное преобразование в отрицательные десятичные числа.

Тебе известно, что компьютер работает только с двоичным кодом. \(0\) и \(1\) обозначают два устойчивых состояния: вкл/выкл, есть ток/нет тока и т. д. Оперативная память представляет собой контейнер, который состоит из ячеек. В каждой ячейке хранится одно из возможных состояний: \(0\) или \(1\). Одна ячейка — \(1\) бит информации или представляет собой разряд некоторого числа.

Целые числа в памяти компьютера хранятся в формате с фиксированной запятой . Такие числа могут храниться в \(8\), \(16\), \(32\), \(64\)-разрядном формате.

Для целых неотрицательных чисел в памяти компьютера выделяется \(8\) ячеек (бит) памяти.

Минимальное число для такого формата: \(00000000\). Максимальное: \(11111111\).

Переведём двоичный код в десятичную систему счисления и узнаем самое большое число, которое можно сохранить в восьмибитном формате.

1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 1 × 2 0 = 255 10 .

Если целое неотрицательное число больше \(255\), то оно будет храниться в \(16\)-разрядном формате и занимать \(2\) байта памяти, то есть \(16\) бит.

Подумай! Какое самое большое число можно записать в \(16\)-разрядном формате?

Чем больше ячеек памяти отводится под хранение числа, тем больше диапазон значений.

В таблице указаны диапазоны значений для \(8\), \(16\) и \(32\)-разрядных форматов.

Скриншот 16-09-2021 004411.jpg

Для \(n\)-разрядного представления диапазон чисел можно вычислить следующим образом: от \(0\) до 2 n − 1 .

Запишем целое беззнаковое число \(65\) в восьмиразрядном представлении. Достаточно перевести это число в двоичный код.

Это же число можно записать и в \(16\)-разрядном формате.

Скриншот 16-09-2021 004807.jpg

Для целых чисел со знаком в памяти отводится \(2\) байта информации (\(16\) бит). Старший разряд отводится под знак: \(0\) — положительное число; \(1\) — отрицательное число. Такое представление числа называется прямым кодом.

Скриншот 16-09-2021 005135.jpg

Для хранения отрицательных чисел используют дополнительный и обратный коды, которые упрощают работу процессора. Но об этом ты узнаешь в старших классах.

1. Образовательные:

  • повторить основные понятия по теме “Системы счисления”;
  • закрепить правила перевода чисел из одной системы счисления в другую;
  • познакомить учащихся с форматами представления чисел в компьютере;
  • научить учащихся представлять целые числа в формате с фиксированной точкой и выполнять арифметические операции (сложение и вычитание) с двоичными кодами.

2. Развивающие: развитие познавательного интереса к предмету, творческую активность учащихся.

3. Воспитательные: воспитывать у школьников информационную культуру, формировать навык самостоятельной работы.

Тип урока: обобщение знаний и изучение нового материала с применением информационных технологий.

Форма урока: комбинированный.

  1. Организационный момент.
  2. Повторение материала.
  3. Проверка домашнего задания.
  4. Объяснение нового материала.
  5. Самостоятельная работа.
  6. Подведение итогов урока. Выставление оценок.
  7. Домашнее задание.

1. Организационный момент.

Объявление темы и целей урока. (Слайд 2).

2. Повторение материала.

Устный опрос. (Слайд 3)

Вопрос 1. В какой наименьшей системе счисления могут быть записаны числа: 203; 461; 112314; 1101; 9А7?

Подготовка к ЕГЭ

Сколько единиц в двоичной записи чисел:

3. Проверка домашнего задания. (Слайды 4–6)

Задание 1. Перевести число 3045 в десятичную систему счисления.
Задание 2. Перевести число 13110 в семеричную систему счисления.
Задание 3. Выполнить сложение двоичных чисел 1011012 + 11011012.
Задание 4. Перевести число из:

  1. двоичной системы счисления в восьмеричную и шестнадцатеричную: 1111001011101012;
  2. восьмеричной системы счисления в шестнадцатеричную систему счисления: 31042568.

Задание 5. (Подготовка к ЕГЭ) Какое двоичное число лежит между числами ED16 и 3578?

4. Объяснение и закрепление нового материала. (Слайды 7–19)

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

Множество целых чисел, представимых в памяти компьютера, ограничено.

Целые без знака (положительные) размер ячейки диапазон значений чисел
1 байт от 0 до 2 8 – 1
2 байта от 0 до 2 16 – 1
Целые со знаком 1 байт от -2 7 до 2 7 – 1
2 байта от -2 15 до 2 15 -1
4 байта от -2 31 до 2 31 -1

(При переводе чисел из одной системы счисления в другую для проверки вычислений учащиеся используют приложение Калькулятор Плюс.)

Чтобы записать двоичный код целого числа, необходимо:

  1. Перевести число в двоичную систему счисления;
  2. Полученный результат дополнить слева незначащими нулями в пределах выбранного формата (прямой код числа).

Задание 1. Записать двоичный код числа 35.

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

Алгоритм перевода целых отрицательных чисел:

  1. Записать прямой код модуля числа.
  2. Записать обратный код числа заменой во всех разрядах 0 на 1 и 1 на 0.
  3. Записать дополнительный код, прибавив к обратному коду 1.

Использование обратного и дополнительного кодов позволяет заменить операцию вычитания на операцию сложения уменьшаемого числа с дополнительным кодом вычитаемого.

Задание 2. Записать двоичный код числа – 35 в формате 1 байта.

Задание 3. Найти сумму двоичных кодов чисел 13 и 46 и выполнить проверку вычисления в десятичной системе счисления.

Задание 4. Найти разность двоичных кодов чисел 46 и 13 и выполнить проверку вычислений в десятичной системе счисления.

Представление вещественных чисел (формат с плавающей точкой).

Для представления вещественных чисел используется нормализованная форма записи чисел.

X= m*p n , где
m – мантисса числа,
р – основание системы счисления,
n – порядок

Мантисса в целой части нормализованного числа содержит одну цифру, отличную от нуля!

Алгоритм перевода вещественных чисел с плавающей точкой:

Старший разряд отводится для знака числа. Любое положительное число обозначается 0, отрицательное (–1). Количество вещественных чисел, точно представимых в памяти компьютера, вычисляется по формуле:

Задание 5. Дано число (-125). Сформировать код с плавающей точкой в формате 4 байта.

Задание 6. Определить, каким десятичным числам соответствуют следующие двоичные коды в однобайтном представлении: 11000101 (19710); 11011101 (22110).

Задание 7. Представить дополнительный код 11001001 в десятичное число.

Задание 8. Какой из двоичных кодов: 00111001, 00111111, 00111011, 00111101 является представлением десятичного числа 59 в формате с фиксированной точкой?

Задание 9. Закончите вычисления и заполните пропуски.

3710 + 4810 0 1 0 0 1 ?
прямой код числа 48
?

4810 – 3710 прямой код числа 37
?
?
?
?

5. Физминутка для глаз.

6. Самостоятельная работа.

1. (Подготовка к ЕГЭ) Чему равно х = 1678 – 5916?

2. Записать в однобайтовом формате прямой код числа 103?

3. Найти десятичное представление числа, записанного в дополнительном коде: 10100100.

4. Выполните вычитание чисел в формате 1 байт: 27 – 61.

5. Какое целое положительное десятичное число соответствует двоичному коду, представленному в одном байте в формате с фиксированной точкой.

Любая информация в памяти компьютера представляется с помощью нулей и единиц, то есть с помощью двоичной системы счисления. Первоначально компьютеры могли работать только с числами. Теперь это числа, тексты, графические объекты, видеоинформация.
Работа с данными сводится любого типа к обработке двоичных чисел – чисел, записываемых с помощью двух цифр – 0и 1.
В компьютере различаются два типа числовых величин: целые числа и вещественные числа. Различаются способы представления в памяти компьютера.
Они называются:

  1. форма с фиксированной точкой (применяется к целым числам)
  2. форма с плавающей точкой (применяется к вещественным числам).

В отдельной части памяти компьютера хранится информация. Данная часть памяти компьютера будем называть ячейкой. Минимальный размер ячейки, где может храниться наша информация – 1 байт или 8 бит.
Давайте попробуем представить число 1510 в двоичной системе счисления, для того чтобы дальше мы могли с вами представить данное число, как будет выглядеть число в памяти компьютера.
1510=11112
А теперь запишем это число в восьми разрядную сетку ячейки. Запись в ячейку мы начинаем с конца, то есть последнюю цифру нашего числа мы записываем в последний разряд ячейки, потом предпоследнюю цифру в предпоследний разряд ячейки и таким образом пока не закончится наше число.

Мы с вами видим при записи это числа у нас возникли проблема в том, что наше полученное число состоит из четырех цифр, а нам надо записать восьмиразрядное число, пустые разряды мы заполняем нулями.
Для представлении со знаком самый старший (левый) бит отводиться под знак числа, остальные разряды – под само число. Если число положительное, то знаковый разряд помещается 0, если отрицательное – 1.
Также максимальное целое положительное число помещающееся в восьми разрядную сетку равно 127.
Мы рассмотрели как представляются целые положительные числа, теперь пришло время рассмотреть целые отрицательные числа.
Для того чтобы представить целые отрицательные числа используется дополнительный код.
Для того чтобы получить дополнительный код, нужно знать следующий алгоритм:

  1. записать внутреннее представление соответствующего ему положительного числа
  2. записать обратный код полученного числа заменой во всех разрядах 0 на 14, 1 на 0.
  3. к полученному числу прибавить 1.

Пример:
Определим внутреннее представление числа -1510 в восьмиразрядной сетки.

  1. Запишем внутреннее представление числа 1510 – 00001111
  2. Запишем обратный код – 11110000
  3. К полученному числу прибавим 1 – 11110001

111100012 это и есть представление числа -1510
Мы с вами учились записывать числа в восьмиразрядную сетку, но бывают и 16-разрядной сетки и 32-разрядной сетки.
В восьмиразрядной сетки можно получить числа диапазоном -127<=X<=127.
В 16-рядной сетки можно получить числа диапазоном -32768<=X<=32768
В 32-разрядной сетки можно получить числа диапазоном -2147483648<=X<=2147483647

Читайте также: