11.20. Представление больших чисел фиксированного размера ПроблемаТребуется выполнить операции с числами, размер которых превышает размер типа long int.РешениеШаблон BigInt в примере 11.38 использует bitset из заголовочного файла <bitset>уметь представлять целые числа.
Представление чисел в компьютере
Рабочая память компьютера состоит из ячеек, каждая из которых представляет собой физическую систему, состоящую из ряда однородных элементов. Эти элементы имеют два постоянных состояния, одно из которых соответствует значению ноль, а другое — значению один. Каждый из этих элементов служит для хранения одного из битов, одного бита двоичного числа. По этой причине каждый элемент ячейки называется битом или разрядом (рис. 1.2).
Рис. 1.2 Ячейка памяти
Существуют различные способы представления целых чисел в компьютере, которые отличаются количеством бит (для целых чисел обычно указывается 8, 16, 32 или 64 бита) и наличием или отсутствием знаковых цифр. Беззнаковое представление может использоваться только для неотрицательных целых чисел, а отрицательные числа представляются только в знаковом виде.
Беззнаковое представление используется для таких объектов, как адреса ячеек, счетчики любого типа (например, количество символов в тексте), а также числа, представляющие дату и время, размер графического пикселя и т.д.
Максимальное значение неотрицательного целого числа достигается, когда все разряды клетки хранят единицы. Для n-значного представления это будет 2 n-1. Минимальное число соответствует n нулям, хранящимся в n битах памяти, и равно нулю.
Ниже приведены максимальные значения для n-разрядных беззнаковых целых чисел:
Чтобы представить беззнаковое целое число на компьютере, просто переведите его в двоичный формат и добавьте нули к стандартной цифре в левой части результата.
Пример 1. Номер 5310 = 1101012 в восьмизначной форме имеет вид:
То же число 53 с шестнадцатью цифрами будет записано следующим образом:
В знаковом представлении самый левый (старший) разряд присваивается знаку числа, а остальные разряды — самому числу. Если число положительное, то 0 ставится на знак разряда; если число отрицательное, то 1 ставится на знак разряда. Такое представление чисел называется прямым кодом.
В компьютерах прямые коды используются для хранения положительных чисел в запоминающих устройствах и для выполнения операций над положительными числами.
На сайте Федерального информационно-образовательного ресурсного центра (http://fcior.edu.ru/) размещен информационный раздел «Число и его арифметический код». Вы можете использовать этот ресурс для получения дополнительной информации по изучаемой теме.
Для выполнения операций над отрицательными числами используется дополнительный код, который позволяет заменить вычитание на сложение. Об алгоритме формирования дополнительных кодов можно прочитать в разделе «Информация о дополнительных кодах» на сайте Федерального информационно-образовательного ресурсного центра (http://fcior.edu.ru/).
Презентация в формате открытого документа
Ссылки на ресурсы ЕС ЭЭР
- Интерактивная рабочая тетрадь, модуль систем счисления (128659); http://school-collection.edu.ru/catalog/res/fc77f535-0c00-4871-b67c-fa2ecf567d46/?inter
- Демонстрация к лекции «Представление целых чисел в памяти компьютера» (119430); http://school-collection.edu.ru/catalog/res/ecf4ab69-d8ac-40a8-b26a-2780aa70b33d/?inter
- Тест на «Системы счисления» — «Система тестов и заданий N12» (134887); http://school-collection.edu.ru/catalog/res/6e89032a-2e09-4519-bb1e-653b4ecfd08f/?inter
- интерактивный задачник, представление чисел (119410)- http://school-collection.edu.ru/catalog/res/c4939f11-5709-4fde-bc83-ceb614135d81/?inter
- Упражнение-тест «Двоичная система счисления и представление чисел в памяти компьютера» (119342) — http://school-collection.edu.ru/catalog/res/19d0fb95-871d-4063-961d-e7dc5725e555/?inter
- Информационный модуль «Преимущества и недостатки двоичной системы счисления при использовании на компьютере» http://fcior.edu.ru/card/23457/dostoinctva-i-nedostatki-dvoichnoy-sistemy-schisleniya-pri-ispolzovanii-ee-v-kompyutere.html
Представление вещественных чисел
Любое действительное число A можно записать в экспоненциальной форме:
m — мантисса числа; q — основание системы счисления; p — порядок числа.
Например, число 472 OOOO может быть представлено следующим образом: 4,72 — 10 8, 47,2 — 10 7, 472,0 — 10 6, и т.д.
Возможно, вы сталкивались с экспоненциальной формой обозначения при расчетах на калькуляторе, и ответ будет в виде 4,72Е+8.
Здесь символ «E» обозначает основание десятичной системы счисления и означает «умноженное на десять в степени десяти».
Приведенный выше пример показывает, что положение запятой в числе может быть различным.
В целях единообразия мантисса обычно записывается в виде правильной дроби с ненулевым десятичным знаком. В данном случае число 472 ООО представлено как 0,472 — 10 9.
Вещественное число может занимать 32 или 64 разряда в памяти компьютера. В этом случае выделяются биты для хранения префикса предиктора, префикса порядка, префикса порядка и префикса предиктора.
Пример:
Диапазон представления вещественных чисел определяется количеством битов, выделенных для хранения порядка числа, а точность определяется количеством битов, выделенных для хранения гадания.
Максимальное значение заказа для приведенного выше примера составляет 11111112 = 12710и, следовательно, максимальное значение числа
0,11111111111111111111111 — 10 1111111
Попробуйте самостоятельно определить десятичный эквивалент этого значения.
Широкий спектр представлений вещественных чисел важен для решения научных и технических задач. Однако следует понимать, что алгоритмы обработки таких чисел более сложны по сравнению с алгоритмами обработки целых чисел.
САМОЕ ГЛАВНОЕ
Компьютер использует множество различных методов для представления целых чисел, которые отличаются количеством цифр (8, 16, 32 или 64) и наличием или отсутствием знакового разряда.
Чтобы представить беззнаковое целое число, его необходимо преобразовать в двоичное, а полученное число обнулить слева до стандартной разрядности.
В знаковом представлении старший разряд резервируется для знака числа, а остальные разряды — для самого числа. Если число положительное, то вместо знака подставляется 0, если число отрицательное, то вместо знака подставляется 1. Положительные числа хранятся в компьютере в прямом коде, а отрицательные — во вспомогательном.
При хранении вещественных чисел в компьютере цифры используются для хранения знака последовательности чисел, самой последовательности чисел, знака гадающего и знака гадаемого. Таким образом, каждое число записывается следующим образом:
m — мантисса числа; q — основание системы счисления; p — порядок числа.
При хранении вещественных чисел в компьютере цифры используются для хранения знака последовательности чисел, самой последовательности чисел, знака гадающего и знака гадаемого. Таким образом, каждое число записывается следующим образом:
Ответы по параграфу 19 Числа в памяти компьютера
Семакин 8 класс учебник по информатике.
Числа в памяти компьютера хранятся в ячейках, при этом минимальный размер ячейки составляет 8 бит (1 байт). Числа в двоичной системе счисления записываются в правой части, а оставшаяся левая часть содержит нули (чем левее цифра, тем она старше). В символе числа хранится старшая цифра (первая цифра в крайнем левом углу списка). Если оно равно 0, то число положительное, если 1, то отрицательное. Наибольшее положительное целое число равно 01111111111111111111111111112 = 12710
Задание 2. Укажите, каков был бы диапазон значений целых чисел, если бы для их хранения использовалась четырехразрядная ячейка.
a) 32 — целое положительное число 3210 = 1000002 Ответ: 00100000
b) -32 — отрицательное число 1) 3210 = 001000002 2) Обратный код: 11011111 3) Добавить единицу: 11011111 + 1 = 11100000 Ответ: 11100000
c) 102 — положительный 10210 = 11001102 Ответ: 01100110
d) 102 является отрицательным 1) 10210 = 011001102 2) Обратный код: 10011001 3) Добавить единицу: 10011001 + 1 = 10011010 Ответ : 10011010
e) 126 — положительное число 12610 = 11111102 Ответ: 01111110
f) -126 — отрицательное число 1) 12610 = 011111102 2) Обратный код: 10000001 3) Добавить единицу: 10000001 + 1 = 10000010 Ответ: 10000010
Задание 4. Определите, каким десятичным числам соответствуют следующие двоичные коды восьмиразрядного представления целых чисел: а) 00010101; б) 11111110; в) 00111111; г) 10101010.
a) 0001010101 — положительное число 101012 = 1*2 4 + 1*2 2 + 1 = 16 + 4 + 1 = 2110 Ответ: 21
б) 11111110 — отрицательное число 1) Вычтите единицу: 1111111110 — 1 = 1111111101 2) Обратный код: 00000010 3) 102 = 210 Ответ: -2
c) 001111111111 является положительным 111111111111112 = 1*2 5 + 1*2 4 + 1*2 3 + 1*2 2 + 1*2 1 + 1 = 32 + 16 + 8 + 4 + 2 + 1 = 6110 Ответ : 61
d) 10101010 — отрицательное число 1) Вычтите единицу: 10101010 — 1 = 10101001 2) Обратный код: 01010110 3) 10101102 = 1*2 6 + 1*2 4 + 1*2 2 + 2 = 64 + 16 + 4 + 2 = 8610 Ответ: -86
Максимальное значение заказа для приведенного выше примера составляет 11111112 = 12710и, следовательно, максимальное значение числа
Используется несколько способов представления целых чисел, отличающихся количеством разрядов и наличием или отсутствием знакового разряда
Существуют различные способы представления целых чисел, которые отличаются количеством цифр и знаком.
Целочисленное представление
Целые числа представлены 8 цифрами:
Целые числа состоят из 16 цифр:
Целые числа представлены 32 цифрами:
Минимальное значение: во всех разрядах ячейки хранятся нули
Минимальное значение: Все цифры ячейки хранят нули. Максимальное значение: Все цифры ячейки хранят единицы (2 n-1).
4 294 967 295 (232 — 1)
18 446 744 073 709 551 615 (264 — 1)
Беззнаковое представление можно использовать только для неотрицательных целых чисел.
Пример 1. Число 5310 = 1101012 в восьмиразрядном представлении имеет вид: 0 1 0 1 0 1
Пример 1. Число 5310 = 1101012 в 8-значном представлении имеет вид:
Число 53 в шестнадцатеричном представлении имеет вид:
Представление чисел в памяти компьютера