Контакты:

ТЕМА на 29.04.2025г.  «Представление чисел в компьютере»

 

Вся информация, обрабатываемая компьютерами, хранится в них в двоичном виде. Каким же образом осуществляется это хранение?

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

Ячейка памяти состоит из некоторого числа однородных элементов. Каждый элемент способен находиться в одном из двух состояний (Содержимым любого разряда может быть либо 0, либо 1) и служит для изображения одного из разрядов числа. Т.е. Ячейка памяти разделяется на разряды, в каждом из которых хранится разряд числа. Именно поэтому каждый элемент ячейки называют разрядом.

 

Бит — минимальная единица измерения информации. Каждый бит может принимать значение 0 или 1. Битом также называют разряд ячейки памяти ЭВМ.

Стандартный размер наименьшей ячейки памяти равен восьми битам, то есть восьми двоичным разрядам. Совокупность из 8 битов является основной единицей представления данных – байт.

Байт (от английского byte – слог) – часть машинного слова, состоящая из 8 бит, обрабатываемая в ЭВМ как одно целое. На экране – ячейка памяти, состоящая из 8 разрядов – это байт. Младший разряд имеет порядковый номер 0, старший разряд – порядковый номер 7.

 

Для представления чисел в памяти компьютера используются два формата: формат с фиксированной точкой и формат с плавающей точкой.

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

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

 

ЦЕЛЫЕ ЧИСЛА

 

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

Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 000000002 до 111111112 , а в двухбайтовом формате - от 00000000 000000002 до 11111111 111111112.

Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак "плюс" кодируется нулем, а "минус" - единицей.

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

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

 

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

1) 5610 = 1110002

 

6 цифр,

а надо 8:

0

0

1

1

1

0

0

0

 

2) - 5610

 

1

0

1

1

1

0

0

0

 

На самом деле прямой код используется почти исключительно для положительных чисел.

 

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

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

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

1. Найти прямой код числа (перевести число в двоичную систему счисления число без знака)

2. Получить обратный код. Поменять каждый ноль на единицу, а единицу на ноль (инвертировать число)

3. К обратному коду прибавить 1

 

Пример 1:

Запишем дополнительный код отрицательного числа -2510 для 8-разрядного компьютерного представления:

прямой код модуля:

|-2510| = 110012

 

0

0

0

1

1

0

0

1

 

инвертировать его (заменить единицы нулями, а нули единицами)

1

1

1

0

0

1

1

0

 

прибавить к инверсному коду единицу

1

1

1

0

0

1

1

1

 

 

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

Прямой код модуля:

|-200210| = 111110100102

0

0

0

0

0

1

1

1

1

1

0

1

0

0

1

0

 

Обратный код:

1

1

1

1

1

0

0

0

0

0

1

0

1

1

0

1

 

Прибавление единицы:

1

1

1

1

1

0

0

0

0

0

1

0

1

1

0

1

+

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

 

Дополнительный код:

1

1

1

1

1

0

0

0

0

0

1

0

1

1

1

0

 

 

ЗАКРЕПЛЕНИЕ МАТЕРИАЛА.

Задание 1.  Найти дополнительный код десятичного числа: – 47.

1. Найдем двоичную запись числа 47 (прямой код).

2. Инвертируем это число (обратный код).

3. Прибавим 1 к обратному коду и получим запись этого числа в оперативной памяти.

 

Задание 2. Записать внутреннее представление десятичного числа, используя 8 -разрядную ячейку:

6410

12010

 

Задание 3. Как запишутся в оперативной памяти компьютера следующие десятичные числа в 16-ти разрядной сетке

5710

20010

- 20010

- 11710

 

 

ВЕЩЕСТВЕННЫЕ ЧИСЛА

 

Вещественные числа хранятся и обрабатываются в компьютере в формате с плавающей запятой. В этом случае положение запятой в записи числа может изменяться.

Для компьютерного представления вещественных чисел используется нормализованная запись вещественного числа - Так число А может быть представлено в виде:

A = m * qp

где m - мантисса числа – дробь, целая часть которой содержит одну значащую (не нулевую) цифру, т.е. 1 ≤ m
q - основание системы счисления;
p - порядок числа – целое число (положительное или отрицательное).

 

При записи числа с плавающей запятой выделяются разряды для хранения:

знака мантиссы,

знака порядка,

порядка и

мантиссы.

Диапазон изменения чисел определяется количеством разрядов, отведенных для хранения порядка числа, а точность (количество значащих цифр) определяется количеством разрядов, отведенных для хранения мантиссы.

Пример:

Записать число 12510 в тридзатидвухразрядную ячейку

1) перевести в двоичную систему счисления

12510 = 11111012

 

2) записать в экспоненциальной форме

A=±m*qp

Где:

m – число с перенесенной запятой

q – основание системы счисления

p – порядок (степень) числа

 

2.1) m: 11111012 = 0,1111101*…

 

2.2) q = 2

Система счисления 2, но эта запись в десятичной форме, переведем:

210=102

 

2.3) p = 7

Запятую перенесли на семь знаков вперед, но эта запись в десятичной форме, переведем:

710=1112

 

2.4) запишем число полностью в экспоненциальной форме и двоичной системе

11111012 =0,1111101*10111

 

3) первые 8 ячеек 32-хразрядной системы отводятся под знак и порядок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

знак

запишем их. Так как число положительное, то знак будет 0

0

 

 

 

 

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Остальные ячейки допишем нулями

0

0

0

0

0

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4) остальные 24 ячейки 32-хразрядной системы отводятся под знак и мантиссу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

знак

запишем их. Так как число положительное, то знак будет 0

0

0

0

0

0

1

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

1

1

1

0

1

Остальные ячейки допишем нулями

0

0

0

0

0

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

0

1

 

5) Мы записали число 12510 в тридзатидвухразрядную ячейку:

00000111000000000000000001111101