То есть диапазон составляет от 0 до 255. Такое представление целых неотрицательных чисел называется прямым кодом двоичного числа.




Представление чисел в компьютере. Универсальность цифрового представления. Двоичное представление информации в компьютере

  1. Представление чисел.

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

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

Для беззнакового представления все разряды ячейки отводятся под представление самого числа. Для представления со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды – под само число. Если число положительное, то в знаковый разряд помещается 0, если отрицательное – 1.

Различие в представлении целых чисел со знаком и без знака вызвано тем, что в ячейках одного и того же размера в беззнаковом типе можно представить больше различных положительных чисел, чем в знаковом. Например, в байте (8 разрядов) можно представить беззнаковые числа от 0 до 255, а знаковые – только до 127.

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

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

Максимальное значение целого неотрицательного числа достигается в случае, когда во всех ячейках хранятся единицы (число 255).

Определим диапазон чисел, которые могут хранится в оперативной памяти в формате целых неотрицательных чисел. Минимальное число соответствует 8-и нулям, хранящимся в 8-и битах ячейки памяти, и равно нулю. Максимальное число равно 8-и единицам, и равно - 255

То есть диапазон составляет от 0 до 255. Такое представление целых неотрицательных чисел называется прямым кодом двоичного числа.

Прямой код положительного числа полностью совпадает с записью самого числа. Например, прямой код двоичных чисел 10012 для 8-и разрядной ячейки равно 00001001.

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

Прямой код отрицательного числа отличается от прямого кода соответствующего ему положительного числа содержанием знакового разряда. Например, число

«– 1001» для 8-и разрядной ячейки равен 10001001. Но целые отрицательные числа не представлены в ЭВМ с помощью прямого кода, для их представления используется так называемый дополнительный код, т.е. отводится две ячейки памяти (16 битов), причем старший (левый) разряд отводится под знак числа.

Дополнительный код положительного числа равен прямому коду этого числа. Например, 200210 = 11111010010 2 будет представлено в 16-и разрядной ячейке следующим образом:

                               

Для получения дополнительного кода отрицательного числа можно использовать алгоритм:

· Модуль числа записать в прямом коде в n двоичных разрядах.

· Получить обратный код числа, для этого значение всех ботов инвертировать (все единицы заменить на нули и все нули заменить на единицы).

· К полученному обратному коду прибавить единицу.

Например: Запишем дополнительный код отрицательного числа «-2002» для 16-и разрядного компьютерного представления:

Прямой код модуля |-2002| 0000 0111 1101 00102
Обратный код Инвертирование 1111 1000 0010 11012
  Прибавление единицы 1111 1000 0010 11012 0000 0000 0000 00012
Дополнительный код   1111 1000 0010 11102
Прямой код модуля 0000 0111 1101 00102
Дополнительный код 1111 1000 0010 11102
Ответ: 1 0000 0000 0000 00002

Проверим правильность выполнения алгоритма (при сложении прямого и дополнительного кода числа должен подучиться 0 и единица должна остаться в крайнем левом разряде):

 

Разрядность Минимум (без знака) Максимум (без знака) Минимум (со знаком) Максимум (со знаком)
      -128  
    65 535 -32 768 32 767
  1. Формат длинных целых чисел со знаком

Для хранения таких чисел отводится четыре ячейки памяти (32 бита).

Разрядность Минимум (без знака) Максимум (без знака) Минимум (со знаком) Максимум (со знаком)
    4 294 967 295 - 2 147 483 648 2 147 483 647
  1. Достоинства и недостатки представления чисел с фиксированной запятой

Достоинства: простота и наглядность представления чисел, простота алгоритмов реализации арифметических действий.

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

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

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

Домашнее задание: Записать дату и тему урока, сделать краткий конспект урока в тетрадь, просмотреть видеоурок по теме и выполнить после записи «Домашняя работа» следующие задания:

  1. Запишите дополнительный код отрицательных чисел, используя 8-разрядную ячейку: - 32; - 102; - 126. Сделайте проверку.
  2. Получите внутреннее представление числа 1607 в 2-х байтовой ячейке.
  3. Как будут представлены в 8-и разрядном знаковом типе числа: -1; -10; -120?
  4. Запишите следующие двоичные числа в прямом, обратном и дополнительном коде для 8-и, 16-и и 32-х разрядной ячейки: -1000; -11101; -1; -1111111.


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-12-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: