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


Представление чисел в памяти компьютера

Скрыть

Описание презентации по отдельным слайдам:

1 слайд Описание слайда:

презентация подготовлена
учителем информатики МОУ СОШ №8
Константиновой Еленой Ивановной
Представление чисел в памяти компьютера

2 слайд Описание слайда:

Как представляются в компьютере целые числа?
Целые числа могут представляться в компьютере со знаком или без знака.
Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 000000002 до 111111112 , а в двубайтовом формате - от 00000000 000000002 до 11111111111111112.

3 слайд Описание слайда:

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

4 слайд Описание слайда:

Число 3910 = 100111 2 в однобайтовом формате:

Число 3910 = 100111 2 в двубайтовом формате:

Число 65 53510 = 11111111 111111112 в двубайтовом формате:

5 слайд Описание слайда:

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

6 слайд Описание слайда:

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

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

7 слайд Описание слайда:

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

8 слайд Описание слайда:

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

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

9 слайд Описание слайда:

Формы записи целых положительных чисел

имеют одинаковое представление

10 слайд Описание слайда:

Формы записи целых отрицательных чисел

11 слайд Описание слайда:

Операции над числами с фиксированной точкой.

12 слайд Описание слайда:

1. А и В положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например:

Получен правильный результат.

13 слайд Описание слайда:

2. А положительное, B отрицательное и по абсолютной величине больше, чем А.
Например:

Получен правильный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются: 1 0000111 = –710.

14 слайд Описание слайда:

3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например:

Компьютер исправляет полученный первоначально неправильный результат (6 вместо 7) переносом единицы из знакового разряда в младший разряд суммы!!!

15 слайд Описание слайда:

4. А и В отрицательные. Например:
Полученный первоначально неправильный результат (обратный код числа –1110 вместо обратного кода числа –1010) компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы.

При переводе результата в прямой код биты цифровой части числа инвертируются: 1 0001010 = –1010.

16 слайд Описание слайда:

5. А и В положительные, сумма А+В больше, либо равна 2n–1, где n – количество разрядов формата чисел (для однобайтового формата n=8, 2n–1 = 27 = 128). Например:

Семи разрядов цифровой части числового формата недостаточно для размещения восьмиразрядной суммы (16210 = 101000102), поэтому старший разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы и знаков слагаемых (знак суммы – отрицателен, знак слагаемых – положительный), что является свидетельством переполнения разрядной сетки.

17 слайд Описание слайда:

6. А и В отрицательные, сумма абсолютных величин А и В больше, либо равна 2n–1.
Например:
632 =01111112

Здесь знак суммы тоже не совпадает со знаками слагаемых, что свидетельствует о переполнении разрядной сетки.

18 слайд Описание слайда:

1. А и В положительные. Здесь нет отличий от случая 1, рассмотренного для обратного кода, т.к. дополнительный код используется только для отрицательных чисел.
 
 
 

19 слайд Описание слайда:

2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например:

Получен правильный результат в дополнительном коде.
При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица: 1 0000110 + 1 = 1 0000111 = –710.

20 слайд Описание слайда:

3. А положительное, B отрицательное и по абсолютной величине меньше, чем А.
Например:

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

21 слайд Описание слайда:

4. А и В отрицательные.
Например:

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

22 слайд Описание слайда:


Задача.
Выполнить действия над машинными кодами чисел:
с фиксированной точкой. Формат 16 двоичных разрядов.
Дано: А=190; В=250
Найти: С1=А + В; С2=А – В.
Решение:
А(10) = 190; А(16)=BE=10111110(2)
В(10) = 250; В(16)=FA=11111010(2)
С1 = А+В С2 = А – В
А= 0 000000010111110 А = 0 0000000010111110 (прямой код)
+В= 0 000000011111010 - В = 1 111111100000110
(дополнительный код)
С1= 0 000000110111000 С2 = 1 111111111000100
Проверка: Проверка:
С1=110111000(2) С2 = - 111100 = - BC= - 3*16 +12*1 =
= - 60 (10)
С1(16) = 1В8 = 1*16*16+11*16+8*1 = 440(10)

Ответ:
С1 = 0 000000110111000
С2 = 1 000000000111100

23 слайд Описание слайда:

Задача.
Выполнить действия над машинными кодами чисел:
с фиксированной точкой.
Формат 16 двоичных разрядов.
Дано: А= - 387; В= - 128
Найти: С1=А + В;
Решение:
X = A+B X = (-A) + ( - B)
А(10) = - 387; А(16)=- 183(16)= - 110000011(2)
В(10) = - 128; В(16)=- 80(16)= - 10000000(2)
A(2) = 1 000000110000011 –прямой код
А(2) = 1 111111001111100 –обратный код
А(2) = 1 111111001111101 – дополн. код

24 слайд Описание слайда:

В(2) = 1 000000010000000 – прямой код
В(2) = 1 111111101111111 – обратный код
В(2) = 1 111111110000000 – дополн.код

(-А) = 1 111111001111101
+ (-В) = 1 111111110000000

Х = 1 111110111111101 –доп. код
Х = 1 000001000000010 – обр.код
Х = 1 000001000000011 – пр.код

Х = - 203(16) = - (2*16*16+0*16+3*1) =
= - (256*2+3) = - (512+3)+ - 515

25 слайд Описание слайда:

Представление чисел с плавающей точкой.
Этот способ представления опирается на нормализованную (экспоненциальную) запись действительных чисел.
Нормализованная запись отличного от нуля действительного числа A - это запись вида:
А= m* qn,
где m – мантисса числа (правильная дробь, у которой первая цифра после запятой не равна нулю),
q – основание системы,
n – порядок числа.

26 слайд Описание слайда:

Примеры:
1. Мантисса числа 64.5 – это число 0.645, а порядок – число 2, так как 64.5 = 0.645*10 степень (2).
2. Мантисса числа 0.0000012 – это число 0.12, а порядок – число -5, потому что 0.0000012= =0.12*10 степень(-5).

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

27 слайд Описание слайда:

Операции над числами с плавающей точкой.

28 слайд Описание слайда:

Дано:А = 12,75; В = 250
Найти: С3 = А + В, С4 = А – В
Формат – 32 двоичных разряда со смещенным порядком.
А(10) = 12,75 = А(16) = С.С;
В(10) = 250 = В(16) = FA
Нормализация мантисс
mA = 0.CC; pxA = 40 + 1 = 41
mB = 0.FA; pxB = 40 + 2 = 42
Выравнивание характеристик:
∆p = pxA – pxB = -1
m*A = mA * 16 -1 = 0.0CC;
pxA = 41+ 1 = 42
C3 = A + B;
mA = 00 0CC000 pxA = 42
mB = 00 FA0000 pxB = 42
mC3 = 01 06C000 pxC = 42

29 слайд Описание слайда:

Нормализация мантиссы результата
mxC3 = 00 106C00;
pxC3 = 42 + 1 = 43
Проверка
С3(16) = 106,C = (C3) = 262,75
C3 = 0 1000011000100000110110000000000
C4 = A – B
mA = 00 0CC000 pxA = 42
mB = 10 06000 pxB = 42
mC3 = 10 12C000 pxC = 42
Нормализация мантиссы результата:
mС4 = 10 ED4000 pxC4 = 42
Проверка:
С4 = - ED.4 = (C4) = - (14 * 16 + 13 * 1 + 4/16) = - 237, 25
C4=11000010111011010100000000000000

30 слайд Описание слайда: 31 слайд Описание слайда: 32 слайд Описание слайда: 33 слайд Описание слайда: 34 слайд Описание слайда: 35 слайд Описание слайда: 36 слайд Описание слайда: 37 слайд Описание слайда: 38 слайд Описание слайда: 39 слайд Описание слайда: 40 слайд Описание слайда: 41 слайд Описание слайда:

Задания на дом:
1. Угринович Н.Д. п. 2.9., стр.103-105.
2. Заполнить карточки.

42 слайд Описание слайда:

Литература:

Информатика. Путеводитель абитурента и старшеклассника. Авт.-сост. Н.А. Подольская.- М.: Научно-технический центр «Университетский», 1998.-128 стр.
Информатика 10 класс. Поурочные планы по учебнику Н.Д. Угриновича «Информатика и информационные технологии.10-11 классы. Составитель М.Г.Гилярова. Издательско-торговый дом «Корифей».Волгоград.2007.128 стр.
http://pedsovet.su/load/14-1-0-3796
http://fcior.edu.ru/

Курс профессиональной переподготовки

Педагог-библиотекарь

Курс повышения квалификации

Курс профессиональной переподготовки

Библиотекарь

Найдите материал к любому уроку,
указав свой предмет (категорию), класс, учебник и тему:

Выберите категорию: Все категорииАлгебраАнглийский языкАстрономияБиологияВнеурочная деятельностьВсеобщая историяГеографияГеометрияДиректору, завучуДоп. образованиеДошкольное образованиеЕстествознаниеИЗО, МХКИностранные языкиИнформатикаИстория РоссииКлассному руководителюКоррекционное обучениеЛитератураЛитературное чтениеЛогопедия, ДефектологияМатематикаМузыкаНачальные классыНемецкий языкОБЖОбществознаниеОкружающий мирПриродоведениеРелигиоведениеРодная литератураРодной языкРусский языкСоциальному педагогуТехнологияУкраинский языкФизикаФизическая культураФилософияФранцузский языкХимияЧерчениеШкольному психологуЭкологияДругое

Выберите класс: Все классыДошкольники1 класс2 класс3 класс4 класс5 класс6 класс7 класс8 класс9 класс10 класс11 класс

Выберите учебник: Все учебники

Выберите тему: Все темы

также Вы можете выбрать тип материала:

Проверен экспертом

Общая информация

Похожие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Числа в памяти компьютера





Основные темы параграфа:

- представление целых чисел;
- размер ячейки и диапазон значений чисел;
- особенности работы компьютера с целыми числами;
- представление вещественных чисел;
- особенности работы компьютера с вещественными числами.

Содержание урока

Представление целых чисел

Размер ячейки и диапазон значений чисел

Представление вещественных чисел

Вопросы и задания

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

Поэтому современные компьютерные технологии называют цифровыми технологиями.

В компьютере различаются два типа числовых величин: целые числа и вещественные числа. Различаются способы их представления в памяти компьютера.

Представление целых чисел

Часть памяти, в которой хранится одно число, будем называть ячейкой. Минимальный размер ячейки, в которой может храниться целое число, — 8 битов, или 1 байт. Получим представление десятичного числа 25 в такой ячейке. Для этого нужно перевести число в двоичную систему счисления. Как это делается, вы уже знаете.

Результат перевода:

2510 = 110012.

Теперь осталось «вписать» его в восьмиразрядную ячейку (записать так называемое внутреннее представление числа). Делается это так:

00011001.

Число записывается «прижатым» к правому краю ячейки (в младших разрядах). Оставшиеся слева разряды (старшие) заполняются нулями.

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

01111111

Чему он равен в десятичной системе? Можно расписать это число в развернутой форме и вычислить выражение. Но можно решить задачу быстрее. Если к младшему разряду этого числа прибавить единицу, то получится число 10000000. В десятичной системе оно равно 27 = 128. Значит:

011111112 = 128 - 1 = 127.

Максимальное целое положительное число, помещающееся в 8-разрядную ячейку, равно 127.

Теперь рассмотрим представление целых отрицательных чисел. Как, например, в 8-разрядной ячейке памяти будет представлено число -25?

Казалось бы, очевидным ответом является следующий: нужно в представлении числа 25 заменить старший разряд с 0 на 1. Но в компьютере все несколько сложнее.

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

Получить дополнительный код некоторого отрицательного числа -X можно по следующему алгоритму:

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

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


1)  00011001
2)  11100110
3)            +1

11100111 — это и есть представление числа -25.

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

Проверим полученный результат. Очевидно, что при сложении чисел +25 и -25 должен получиться ноль.

0 0 0 1 1 0 0 1
+
1 1 1 0 0 1 1 1

1 0 0 0 0 0 0 0 0

Единица в старшем разряде, получаемая при сложении, выходит за границу ячейки и исчезает. В ячейке остается нолъ.

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

Представление восьмиразрядного отрицательного числа -X дополняет представление соответствующего положительного числа +Х до значения 2 8.

§ 1.2. Представление чисел в компьютере






Ключевые слова:

• разряд
• беззнаковое представление целых чисел
• представление целых чисел со знаком
• представление вещественных чисел


1.2.1. Представление целых чисел

Оперативная память компьютера состоит из ячеек, каждая из которых представляет собой физическую систему, состоящую из некоторого числа однородных элементов. Эти элементы обладают двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое — единице. Каждый такой элемент служит для хранения одного из битов — разряда двоичного числа. Именно поэтому каждый элемент ячейки называют битом или разрядом (рис. 1.2).

Рис. 1.2. Ячейка памяти

Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда. Беззнаковое представление можно использовать только для неотрицательных целых чисел, отрицательные числа представляются только в знаковом виде.

Беззнаковое представление используется для таких объектов, как адреса ячеек, всевозможные счётчики (например, число символов в тексте), а также числа, обозначающие дату и время, размеры графических изображений в пикселях и т. д.

Максимальное значение целого неотрицательного числа достигается в случае, когда во всех разрядах ячейки хранятся единицы. Для n-разрядного представления оно будет равно 2n-1. Минимальное число соответствует п нулям, хранящимся в n разрядах памяти, и равно нулю.

Ниже приведены максимальные значения для беззнаковых целых n-разрядных чисел:

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

Пример 1. Число 5310 = 1101012 в восьмиразрядном представлении имеет вид:

Это же число 53 в шестнадцати разрядах будет записано следующим образом:

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

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

На сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/) размещён информационный модуль «Число и его компьютерный код». С помощью этого ресурса вы можете получить дополнительную информацию по изучаемой теме.

Для выполнения операций с отрицательными числами используется дополнительный код, позволяющий заменить операцию вычитания сложением. Узнать алгоритм образования дополнительного кода вы можете с помощью информационного модуля «Дополнительный код», размещённого на сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/).


1.2.2. Представление вещественных чисел

Любое вещественное число А может быть записано в экспоненциальной форме:

где:

m — мантисса числа;
q — основание системы счисления;
p — порядок числа.

Например, число 472 ООО ООО может быть представлено так: 4,72 • 108, 47,2 • 107, 472,0 • 106 и т. д.

С экспоненциальной формой записи чисел вы могли встречаться при выполнении вычислений с помощью калькулятора, когда в качестве ответа получали записи следующего вида: 4.72Е+8.

Здесь знак «Е» обозначает основание десятичной системы счисления и читается как «умножить на десять в степени».

Из приведённого выше примера видно, что положение запятой в записи числа может изменяться.

Для единообразия мантиссу обычно записывают как правильную дробь, имеющую после запятой цифру, отличную от нуля. В этом случае число 472 ООО ООО будет представлено как 0,472 • 109.

Вещественное число может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.

Пример:

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

Максимальное значение порядка числа для приведённого выше примера составляет 11111112 = 12710, и, следовательно, максимальное значение числа:

0,11111111111111111111111 • 101111111

Попытайтесь самостоятельно выяснить, каков десятичный эквивалент этой величины.

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

САМОЕ ГЛАВНОЕ

Для компьютерного представления целых чисел используются несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64) и наличием или отсутствием знакового разряда.

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

При представлении со знаком самый старший разряд отводится под знак числа, остальные разряды — под само число. Бели число положительное, то в знаковый разряд помещается 0, если число отрицательное, то 1. Положительные числа хранятся в компьютере в прямом коде, отрицательные — в дополнительном.

При хранении в компьютере вещественных чисел выделяются разряды на хранение знака порядка числа, самого порядка, знака мантиссы и мантиссы. При этом любое число записывается так:

где:

m — мантисса числа;
q — основание системы счисления;
p — порядок числа.

Вопросы и задания

1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.

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

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

4. Представьте число 6310 в беззнаковом 8-разрядном формате.

5. Найдите десятичные эквиваленты чисел по их прямым кодам, записанным в 8-разрядном формате со знаком:

а) 01001100;
б) 00010101.

6. Какие из чисел 4438, 1010102, 25610 можно сохранить в 8-разрядном формате?

7. Запишите следующие числа в естественной форме:

а) 0,3800456 • 102;
б) 0,245 • 10-3;
в) 1,256900Е+5;
г) 9,569120Е-3.

8. Запишите число 2010,010210 пятью различными способами в экспоненциальной форме.

9. Запишите следующие числа в экспоненциальной форме с нормализованной мантиссой — правильной дробью, имеющей после запятой цифру, отличную от нуля:

а) 217,93410;
б) 7532110;
в) 0,0010110.

10. Изобразите схему, связывающую основные понятия, рассмотренные в данном параграфе.

Электронное приложение к уроку


Презентации, плакаты, текстовые файлы Вернуться к материалам урока Ресурсы ЭОР

Cкачать материалы урока


Представление чисел в компьютере. Представление целых и вещественных чисел в памяти компьютера

Любому, кто хоть раз задумывался в жизни о том, чтобы стать "айтишником" или системным администратором, да и просто связать судьбу с вычислительной техникой, знание о том, как происходит представление чисел в памяти компьютера, абсолютно необходимо. Ведь именно на этом основываются языки программирования низкого уровня, такие как Assembler. Поэтому сегодня мы рассмотрим представление чисел в компьютере и их размещение в ячейках памяти.

Система счисления

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

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

Итак, для того чтобы перевести число в двоичную систему счисления, нужно взять выбранное нами значение и поделить его на 2. После этого мы получим результат и остаток (0 или 1). Результат опять делим 2 и запоминаем остаток. Данную процедуру нужно повторять до тех пор, пока в итоге также не окажется 0 или 1. Затем записываем конечное значение и остатки в обратном порядке, как мы их получали.

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

Память

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

Для хранения больших чисел используются ячейки. Каждая такая единица содержит до 8 бит информации. Поэтому можно сделать вывод, что минимальное значение в каждом отрезке памяти может составлять 1 байт или быть восьмизначным двоичным числом.

Целые

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

Начнем мы с самого простого варианта, коим является представление целых чисел в компьютере. Память ПК отводит под этот процесс до смешного малое количество ячеек – всего одну. Таким образом, максимум в одном слоте могут быть значения от 0 до 11111111. Давайте переведём максимальное число в привычную нам форму записи.
Х = 1 × 27 + 1 × 26 + 1 × 25 + 1 × 24 + 1 × 23 + 1 × 22 + 1 × 21 + 1 × 20 = 1 × 28 - 1 = 255.

Теперь мы видим, что в одной ячейке памяти может располагаться значение от 0 до 255. Однако это относится исключительно к целым неотрицательным числам. Если же компьютеру понадобится записать отрицательное значение, всё пройдет немного по-другому.

Отрицательные числа

Теперь давайте посмотрим, как происходит представление чисел в компьютере, если они являются отрицательными. Для размещения значения, которое меньше нуля, отводится две ячейки памяти, или 16 бит информации. При этом 15 уходят под само число, а первый (крайний левый) бит отдается под соответствующий знак.

Если цифра отрицательная, то записывается "1", если положительная, то "0". Для простоты запоминания можно провести такую аналогию: если знак есть, то ставим 1, если его нет, то ничего (0).

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

Для того чтобы разместить в 2 ячейках памяти значение больше нуля или равное ему, используется так называемый прямой код. Данная операция производится так же, как и было описано, а максимальное А = 32766, если использовать десятичную систему счисления. Сразу хочется отметить, что в данном случае "0" относится к положительным.

Примеры

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

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

  1. Сначала записывается модуль отрицательного числа в двоичном счислении. То есть компьютер запоминает аналогичное, но положительное значение.
  2. Затем проводится инвертирование каждого бита памяти. Для этого все единицы заменяются нулями и наоборот.
  3. Прибавляем "1" к полученному результату. Это и будет дополнительный код.

Приведем наглядный пример. Пусть у нас есть число Х = - 131. Сначала получаем его модуль |Х|= 131. Затем переводим в двоичную систему и записываем в 16 ячеек. Получим Х = 0000000010000011. После инвертирования Х=1111111101111100. Добавляем к нему "1" и получаем обратный код Х=1111111101111101. Для записи в 16-битную ячейку памяти минимальным числом является Х = - (215) = - 32767.

Длинные целые

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

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

Хмах=2 147 483 647.

Хmin=- 2 147 483 648.

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

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

Плавающая запятая

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

Любое число может быть представлено в следующей форме Х = m * рп. Где m – это мантисса числа, р – основание системы счисления и п – порядок числа.

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

Пусть нам дано число 666,66. Приведём его к экспоненциальной форме. Получится Х = 0,66666 * 103. Р = 10 и п = 3.

На хранение значений с плавающей запятой обычно выделяется 4 или 8 байт (32 или 64 бита). В первом случае это называется числом обычной точности, а во втором – двойной точности.

Из 4 байт, выделенных под хранение цифр, 1 (8 разрядов) отдается под данные о порядке и его знаке, а 3 байта (24 разряда) уходят на хранение мантиссы и её знака по тем же принципам, что и для целочисленных значений. Зная это, мы можем провести нехитрые расчеты.

Максимальное значение п = 11111112= 12710. Исходя из него, мы можем получить максимальный размер числа, которое может храниться в памяти компьютера. Х=2127. Теперь мы можем вычислить максимально возможную мантиссу. Она будет равна 223 – 1 ≥ 223 = 2(10 × 2,3) ≥ 10002,3 = 10(3 × 2,3) ≥ 107. В итоге, мы получили приближенное значение.

Если теперь мы объединим оба расчета, то получим значение, которое может быть записано без потерь в 4 байта памяти. Оно будет равно Х = 1,701411 * 1038. Остальные цифры были отброшены, поскольку именно такую точность позволяет иметь данный способ записи.

Двойная точность

Поскольку все вычисления были расписаны и объяснены в предыдущем пункте, здесь мы расскажем всё очень коротко. Для чисел с двойной точностью обычно выделяется 11 разрядов для порядка и его знака, а также 53 разряда для мантиссы.

П = 11111111112= 102310.

М = 252 -1 = 2(10*5.2) = 10005.2 = 1015.6. Округляем в большую сторону и получаем максимальное число Х = 21023 с точностью до "м".

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

Представление чисел в памяти компьютера. | Презентация к уроку по информатике и икт (8 класс):

Слайд 1

«ПРЕДСТАВЛЕНИЕ ЧИСЕЛ В ПАМЯТИ КОМПЬЮТЕРА»

Слайд 2

Повторение: Переведите двоичные числа в десятичную: А)101101; б) 110010 2. Переведите десятичные числа в двоичные: А) 55; б) 89

Слайд 3

ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ Все числа в компьютере представляются в виде двоичных кодов, т.е нулей и единиц . Элементы числа, называют разрядами или битами. Память компьютера условно делиться на ячейки, каждая из которых имеет свой номер. Нумерация начинается с нуля(справа налево). Минимальной адресуемой ячейкой памяти называется байт – 8 двоичных разрядов. порядковый номер байта называется его адресом . Наибольшую последовательность битов, которую процессор может обрабатывать как единое целое, называют машинным словом . Длина машинного слова может быть разной - 8 , 16 , 32 бит и т.д.

Слайд 4

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

Слайд 5

Для положительного числа прямой, обратный и дополнительный коды выглядят одинаково. Прямой код двоичного числа — это само двоичное число, причем значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел -1 . Обратный код отрицательного числа получается из прямого кода путем замены нулей единицами, а единиц нулями, исключая знаковый разряд. Дополнительный код отрицательного числа образуется как результат суммирования обратного кода с единицей младшего разряда. Перенос в знаковый разряд при этом теряется.

Слайд 6

Пример 1. Определить прямой, обратный и дополнительный коды следующих двоичных чисел: а)111000; б) -111011; в) -100010. Решение Будем считать, что число размещается в 16 битах (2 байтах) . Старший бит – знак разряда. Незначащие нули добавляются слева от числа. Результат представим в виде таблицы: Число Прямой код Обратный код Дополнительный код 111000 0000000000111000 0000000000111000 0000000000111000 -111011 1000000000111011 1111111111000100 1111111111000101 -100010 1000000000100010 1111111111011101 1111111111011110

Слайд 7

Пример 2. Как будет представлено в памяти компьютера целое число 12345 10 ? Решение Для размещения числа возьмем два байта. Поскольку число положительное, то в старшем (15-м) бите будет 0. Переведем число в двоичную систему счисления: 12345 10 = 11000000111001 2 . Результат: 0 0110000 00111001 Знак числа число

Урок 11. Компьютерное представление целых и вещественных чисел

Урок 11. Компьютерное представление целых и вещественных чисел

Целые числа в компьютере

Правило № 4: в памяти компьютера числа хранятся в двоичной системе счисления*. С двоичной системой счисления вы знакомы из курса информатики 7-9 классов. Например, если под целое число выделяется ячейка памяти размером в 16 битов, то самое большое целое положительное число будет таким:

В десятичной системе счисления оно равно:

215 - 1 = 32 767. 



* Конечно, и «внутри калькулятора» числа представляются в двоичном виде. Однако мы в это вдаваться не будем, рассмотрев лишь внешнее представление. Пример с калькулятором нам нужен был только для иллюстрации проблемы ограниченности.

Здесь первый бит играет роль знака числа. Ноль — признак положительного числа. Самое большое по модулю отрицательное число равно -32 768. Напомним (это было в курсе информатики основной школы), как получить его внутреннее представление:

1) перевести число 32 768 в двоичную систему счисления; это легко, поскольку 32 768 = 215:

1000000000000000;

2) инвертировать этот двоичный код, т. е. заменить нули на единицы, а единицы — на нули:

0111111111111111;

3) прибавить единицу к этому двоичному числу (складывать надо по правилам двоичной арифметики), в результате получим:

Единица в первом бите обозначает знак «минус». Не нужно думать, что полученный код — это «минус ноль». Этот код представляет число -32 768. Таковы правила машинного представления целых чисел. Данное представление называется дополнительным кодом.

Если под целое число в памяти компьютера отводится N битов, то диапазон значений целых чисел:

[-2N-1, 2N~1 - 1],

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

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

В десятичной системе это 216 - 1 = 65 535, примерно в два раза больше по модулю, чем в представлении со знаком.

Из всего сказанного делаем вывод: целые числа в памяти компьютера — это дискретное, ограниченное и конечное множество.

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

Рисунок 1.7 отражает то обстоятельство, что при переходе от математического представления множества целых чисел к представлению, используемому в информатике (компьютере), происходит переход к ограниченности и конечности.

 

Вещественные числа в компьютере

Понятие вещественного (действительного) числа в математику ввел Исаак Ньютон в XVIII веке. В математике множество вещественных чисел непрерывно, бесконечно и не ограничено. Оно включает в себя множество целых чисел и еще бесконечное множество нецелых чисел. Между двумя любыми точками на числовой оси лежит бесконечное множество вещественных чисел, что и означает непрерывность множества.

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

Снова для примера возьмем калькулятор с десятиразрядным индикаторным табло. Экспериментально докажем дискретность представления вещественных чисел. Выполним на калькуляторе деление 1 на 3. Из математики вам известно, что 1/3 — это рациональная дробь, представление которой в виде десятичной дроби содержит бесконечное количество цифр: 0,3333333333... (3 в периоде). На табло калькулятора вы увидите:

Первый разряд зарезервирован под знак числа. После запятой сохраняется 8 цифр, а остальные не вмещаются в разрядную сетку (так это обычно называют). Значит, это не точное значение, равное 1/3, а его «урезанное» значение.

Следующее по величине число, которое помещается в разрядную сетку:

Оно больше предыдущего на 0,00000001. Это шаг числовой последовательности. Следовательно, два рассмотренных числа разделены между собой конечным отрезком. Очевидно, что предыдущее число такое:

Оно тоже отделено от своего «соседа справа» по числовой оси шагом 0,00000001. Отсюда делаем вывод: множество вещественных чисел, представимых в калькуляторе, дискретно, поскольку числа отделены друг от друга конечными отрезками.

А теперь выясним вот что: будет ли шаг в последовательности вещественных чисел на калькуляторе постоянной величиной (как у целых чисел)?

Вычислим выражение 100000/3. Получим:

Это число в 100 000 раз больше предыдущего и, очевидно, тоже приближенное. Легко понять, что следующее вещественное число, которое можно получить на табло калькулятора, будет больше данного на 0,0001. Шаг стал гораздо больше.

Отсюда приходим к выводу: множество вещественных чисел, представимых в калькуляторе, дискретно с переменной величиной шага между соседними числами.

Если отметить на числовой оси точные значения вещественных чисел, которые представимы в калькуляторе, то эти точки будут расположены вдоль оси неравномерно. Ближе к нулю — гуще, дальше от нуля — реже (рис. 1.8).

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

Ответим на вопрос: ограничено ли множество вещественных чисел в памяти компьютера? Если продолжать эксперименты с калькулятором, то ответ на этот вопрос будет таким: да, множество вещественных чисел в калькуляторе ограничено.

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

Самое большое число у разных калькуляторов может оказаться разным. У самого простого это будет то же число, что мы получали раньше: 999999999. Если прибавить к нему единицу, то калькулятор выдаст сообщение об ошибке. А на другом, более «умном» и дорогом, калькуляторе прибавление единицы приведет к такому результату:

Данную запись на табло надо понимать так: 1 • 109.

Такой формат записи числа называется форматом с плавающей запятой, в отличие от всех предыдущих примеров, где рассматривалось представление чисел в формате с фиксированной запятой.

Число, стоящее перед буквой «е», называется мантиссой, а стоящее после — порядком. «Умный калькулятор» перешел к представлению чисел в формате с плавающей запятой после того, как под формат с фиксированной запятой не стало хватать места на табло.

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

Но и для форматы с плавающей запятой тоже есть максимальное число. В нашем «подопытном» калькуляторе это число:

То есть 99999 • 1099. Самое большое по модулю отрицательное значение -99999 • 1099. Данные числа являются целыми, но именно они ограничивают представление любых чисел (целых и вещественных) в калькуляторе.

В компьютере все организовано аналогично, но предельные значения еще больше. Это зависит от разрядности ячейки памяти, выделяемой под число, и от того, сколько разрядов выделяется под порядок и под мантиссу.

Рассмотрим пример: пусть под все число в компьютере выделяется 8 байтов — 64 бита, из них под порядок — 2 байта, под мантиссу — 6 байтов. Тогда диапазон вещественных чисел, в переводе в десятичную систему счисления, оказывается следующим:

±(5 • 10-324 - 1,7 • 10308).

Завершая тему, посмотрим на рис. 1.9. Смысл, заложенный в нем, такой: непрерывное, бесконечное и не ограниченное множество вещественных чисел, которое рассматривает математика, при его представлении в компьютере обращается в дискретное, конечное и ограниченное множество.

 

 

Вопросы и задания

1. Почему множество целых чисел, представимых в памяти компьютера, дискретно, конечно и ограничено? 
2. Определите диапазон целых чисел, хранящихся в 1 байте памяти в двух вариантах: со знаком и без знака. 
3. Получите внутреннее представление числа 157 в 8-разрядной ячейке памяти в формате со знаком. 
4. Получите внутреннее представление числа -157 в 8-разрядной ячейке памяти в формате со знаком. 
5. Почему множество действительных (вещественных) чисел, представимых в памяти компьютера, дискретно, конечно и ограничено? 
6. На какие две части делится число в формате с плавающей запятой? 

Ключевые слова:

• разряд 
• беззнаковое представление целых чисел 
• представление целых чисел со знаком 
• представление вещественных чисел 

1.2.1. Представление целых чисел

Оперативная память компьютера состоит из ячеек, каждая из которых представляет собой физическую систему, состоящую из некоторого числа однородных элементов. Эти элементы обладают двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое — единице. Каждый такой элемент служит для хранения одного из битов — разряда двоичного числа. Именно поэтому каждый элемент ячейки называют битом или разрядом (рис. 1.2).

Рис. 1.2. Ячейка памяти

Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда. Беззнаковое представление можно использовать только для неотрицательных целых чисел, отрицательные числа представляются только в знаковом виде.

Беззнаковое представление используется для таких объектов, как адреса ячеек, всевозможные счётчики (например, число символов в тексте), а также числа, обозначающие дату и время, размеры графических изображений в пикселях и т. д.

Максимальное значение целого неотрицательного числа достигается в случае, когда во всех разрядах ячейки хранятся единицы. Для n-разрядного представления оно будет равно 2n-1. Минимальное число соответствует п нулям, хранящимся в n разрядах памяти, и равно нулю.

Ниже приведены максимальные значения для беззнаковых целых n-разрядных чисел:

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

Пример 1. Число 5310 = 1101012 в восьмиразрядном представлении имеет вид:

Это же число 53 в шестнадцати разрядах будет записано следующим образом:

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

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

На сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/) размещён информационный модуль «Число и его компьютерный код». С помощью этого ресурса вы можете получить дополнительную информацию по изучаемой теме.

Для выполнения операций с отрицательными числами используется дополнительный код, позволяющий заменить операцию вычитания сложением. Узнать алгоритм образования дополнительного кода вы можете с помощью информационного модуля «Дополнительный код», размещённого на сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/).

 Презентация «Представление информации в компьютере»

 Презентация «Представление информации в компьютере» (Open Document Format)

Ссылки на ресурсы ЕК ЦОР

Федеральный центр информационных образовательных ресурсов:

Представление вещественных чисел

Любое вещественное число А может быть записано в экспоненциальной форме:

 где:

m — мантисса числа; 
q — основание системы счисления; 
p — порядок числа.

Например, число 472 ООО ООО может быть представлено так: 4,72 • 108, 47,2 • 107, 472,0 • 106 и т. д.

С экспоненциальной формой записи чисел вы могли встречаться при выполнении вычислений с помощью калькулятора, когда в качестве ответа получали записи следующего вида: 4.72Е+8.

Здесь знак «Е» обозначает основание десятичной системы счисления и читается как «умножить на десять в степени».

Из приведённого выше примера видно, что положение запятой в записи числа может изменяться.

Для единообразия мантиссу обычно записывают как правильную дробь, имеющую после запятой цифру, отличную от нуля. В этом случае число 472 ООО ООО будет представлено как 0,472 • 109.

Вещественное число может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.

Пример:

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

Максимальное значение порядка числа для приведённого выше примера составляет 11111112 = 12710, и, следовательно, максимальное значение числа:

0,11111111111111111111111 • 101111111

Попытайтесь самостоятельно выяснить, каков десятичный эквивалент этой величины.

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

САМОЕ ГЛАВНОЕ

Для компьютерного представления целых чисел используются несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64) и наличием или отсутствием знакового разряда.

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

При представлении со знаком самый старший разряд отводится под знак числа, остальные разряды — под само число. Бели число положительное, то в знаковый разряд помещается 0, если число отрицательное, то 1. Положительные числа хранятся в компьютере в прямом коде, отрицательные — в дополнительном.

При хранении в компьютере вещественных чисел выделяются разряды на хранение знака порядка числа, самого порядка, знака мантиссы и мантиссы. При этом любое число записывается так:

 где:

m — мантисса числа; 
q — основание системы счисления; 
p — порядок числа.

Вопросы и задания

1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.

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

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

4. Представьте число 6310 в беззнаковом 8-разрядном формате.

5. Найдите десятичные эквиваленты чисел по их прямым кодам, записанным в 8-разрядном формате со знаком:

а) 01001100; 
б) 00010101.

6. Какие из чисел 4438, 1010102, 25610 можно сохранить в 8-разрядном формате?

7. Запишите следующие числа в естественной форме:

а) 0,3800456 • 102
б) 0,245 • 10-3
в) 1,256900Е+5; 
г) 9,569120Е-3.

8. Запишите число 2010,010210 пятью различными способами в экспоненциальной форме.

9. Запишите следующие числа в экспоненциальной форме с нормализованной мантиссой — правильной дробью, имеющей после запятой цифру, отличную от нуля:

а) 217,93410
б) 7532110
в) 0,0010110.

10. Изобразите схему, связывающую основные понятия, рассмотренные в данном параграфе. 

Электронное приложение к уроку

 Презентация «Представление информации в компьютере»

 Презентация «Представление информации в компьютере» (Open Document Format)

Ссылки на ресурсы ЕК ЦОР

Федеральный центр информационных образовательных ресурсов:

 

   
  Презентации, плакаты, текстовые файлы Вернуться к материалам урока Ресурсы ЭОР  

 

 

Cкачать материалы урока

 

Как целые числа хранятся в памяти

Целые числа - это целые числа, которые будут храниться в компьютере, используя 4 байта (32 бита) памяти.

Пример

65

Двоичный эквивалент 65 равен (1000001) 2 .

Бит MSB (старший значащий бит) используется для обозначения положительного или отрицательного числа.

Для положительных чисел MSB будет 0.

Для отрицательных чисел MSB будет 1.

В нашем случае 65 положительно, поэтому MSB будет 0.

Этот двоичный эквивалент 65 будет храниться в 32-битной памяти, как показано ниже,

Пояснение к изображению


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

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

Дополнение до 1 числа
Дополнение числа

1 - это просто инвертирование двоичных разрядов действительного числа.

Пример:

10

Двоичное представление будет (1010) 2

Дополнение 1 к 10 равно 0101 (переключение 0 на 1 и 1 на 0).

Дополнение до 2 числа

Чтобы получить двойное дополнение числа, просто добавьте 1 к 1 фактическому числу.

Пример
Пояснение к изображению


Эта форма дополнения 2 будет храниться в компьютере.




Полезные ресурсы

https://en.wikipedia.org/wiki/Ones%27_complement
https://en.wikipedia.org/wiki/Two%27s_complement

Темы, которые могут вам понравиться

.

Как отрицательные числа хранятся в памяти?

Как отрицательные числа хранятся в памяти?

Предварительное условие - базовые преобразования, дополнение до 1 и 2 двоичного числа, дополнение до 2 двоичной строки
Предположим, что следующий фрагмент кода, int a = -34; Теперь как это будет храниться в памяти. Итак, вот полная теория. Каждый раз, когда встречается число со знаком минус, число (без учета знака минус) преобразуется в его двоичный эквивалент.Затем вычисляется дополнение числа до двух. Дополнение до двух хранится в месте, выделенном в памяти, а знаковый бит будет установлен в 1, потому что сохраняемый двоичный файл имеет отрицательное число. При обращении к этому значению сначала проверяется знаковый бит, если знаковый бит равен 1, тогда двоичный код будет дополнен до двух и преобразован в эквивалентное десятичное число и будет представлен со знаком минус.

Рассмотрим пример:
Пример -
int a = -2056;
Двоичное число 2056 будет вычислено, что составляет:

00000000000000000000100000001000 (32-битное представление, в соответствии с хранением int в C)
Дополнение до 2 вышеуказанного двоичного файла:
11111111111111111111011111111000.

Итак, наконец, вышеуказанный двоичный файл будет сохранен в памяти, выделенной для переменной a.
Когда дело доходит до доступа к значению переменной a, указанный выше двоичный файл будет извлечен из области памяти, затем его знаковый бит, который является крайним левым битом, будет проверяться, так как он равен 1, поэтому двоичное число имеет отрицательное число, поэтому он будет дополнен двумя, а когда он будет дополнен двумя, будет получен двоичный код 2056, который:
00000000000000000000100000001000

Вышеупомянутое двоичное число будет преобразовано в его десятичный эквивалент, который равен 2056, и поскольку бит знака был равен 1, десятичное число, получаемое из двоичного числа, будет представлено со знаком минус.В нашем случае -2056.

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями теории CS для собеседований SDE с помощью курса CS Theory Course по приемлемой для студентов цене и станьте готовым к работе в отрасли.

.

c ++ - как целые числа хранятся в памяти?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологии
.

языковый юрист - Представление отрицательных чисел в C?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

c - Почему отрицательные числа больше положительных?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для
.

хранилище - Как компьютер различает целое число со знаком или без знака?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант
.

Смотрите также