Что такое целое число в информатике пример
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
§ 1.2. Представление чисел в компьютере
Информатика. 8 класса. Босова Л.Л. Оглавление
Ключевые слова:
1.2.1. Представление целых чисел
Оперативная память компьютера состоит из ячеек, каждая из которых представляет собой физическую систему, состоящую из некоторого числа однородных элементов. Эти элементы обладают двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое — единице. Каждый такой элемент служит для хранения одного из битов — разряда двоичного числа. Именно поэтому каждый элемент ячейки называют битом или разрядом (рис. 1.2).
Рис. 1.2. Ячейка памяти
Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда. Беззнаковое представление можно использовать только для неотрицательных целых чисел, отрицательные числа представляются только в знаковом виде.
Беззнаковое представление используется для таких объектов, как адреса ячеек, всевозможные счётчики (например, число символов в тексте), а также числа, обозначающие дату и время, размеры графических изображений в пикселях и т. д.
Ниже приведены максимальные значения для беззнаковых целых n-разрядных чисел:
Для получения компьютерного представления беззнакового целого числа достаточно перевести число в двоичную систему счисления и дополнить полученный результат слева нулями до стандартной разрядности.
Пример 1. Число 5310 = 1101012 в восьмиразрядном представлении имеет вид:
Это же число 53 в шестнадцати разрядах будет записано следующим образом:
При представлении со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды — под само число. Если число положительное, то в знаковый разряд помещается 0, если число отрицательное — 1. Такое представление чисел называется прямым кодом. В компьютере прямые коды используются для хранения положительных чисел в запоминающих устройствах, для выполнения операций с положительными числами.
На сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/) размещён информационный модуль «Число и его компьютерный код». С помощью этого ресурса вы можете получить дополнительную информацию по изучаемой теме.
Для выполнения операций с отрицательными числами используется дополнительный код, позволяющий заменить операцию вычитания сложением. Узнать алгоритм образования дополнительного кода вы можете с помощью информационного модуля «Дополнительный код», размещённого на сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/).
1.2.2. Представление вещественных чисел
Любое вещественное число А может быть записано в экспоненциальной форме:
С экспоненциальной формой записи чисел вы могли встречаться при выполнении вычислений с помощью калькулятора, когда в качестве ответа получали записи следующего вида: 4.72Е+8.
Здесь знак «Е» обозначает основание десятичной системы счисления и читается как «умножить на десять в степени».
Из приведённого выше примера видно, что положение запятой в записи числа может изменяться.
Вещественное число может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.
Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка числа, а точность определяется количеством разрядов, отведённых для хранения мантиссы.
Максимальное значение порядка числа для приведённого выше примера составляет 11111112 = 12710, и, следовательно, максимальное значение числа:
Попытайтесь самостоятельно выяснить, каков десятичный эквивалент этой величины.
Широкий диапазон представления вещественных чисел важен для решения научных и инженерных задач. Вместе с тем следует понимать, что алгоритмы обработки таких чисел более трудоёмки по сравнению с алгоритмами обработки целых чисел.
Самое главное о представление чисел в компьютере
Для компьютерного представления целых чисел используются несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64) и наличием или отсутствием знакового разряда. Для представления беззнакового целого числа его следует перевести в двоичную систему счисления и дополнить полученный результат слева нулями до стандартной разрядности. При представлении со знаком самый старший разряд отводится под знак числа, остальные разряды — под само число. Если число положительное, то в знаковый разряд помещается 0, если число отрицательное, то 1. Положительные числа хранятся в компьютере в прямом коде, отрицательные — в дополнительном. Вещественные числа в компьютере хранятся в формате с плавающей запятой. При этом любое число записывается так:
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу содержащейся в электронном приложении к учебнику. Используйте эти подготовке ответов на вопросы и выполнении заданий.
6. Какие из чисел 4438, 1010102, 25610 можно сохранить в 8-разрядном формате?
10. Изобразите схему связывающую основные понятия рассмотренные, а данном параграфе
§ 1.2. Представление чисел в компьютере
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Представление чисел в компьютере
Информатика. 10 класса. Босова Л.Л. Оглавление
§13. Представление чисел в компьютере
Самым первым видом данных, с которыми начали работать компьютеры, были числа. ЭВМ первого поколения могли производить только математические расчёты (вычисления).
Из курса информатики основной школы вы помните, что компьютеры работают с целыми и вещественными числами. Их представление в памяти осуществляется разными способами.
13.1. Представление целых чисел
Во многих задачах, решаемых на компьютере, обрабатываются целочисленные данные. Прежде всего, это задачи экономического характера, при решении которых данными служат количества акций, сотрудников, деталей, транспортных средств и др. Целые числа используются для обозначения даты и времени, для нумерации различных объектов: элементов массивов, записей в базах данных, машинных адресов и т. д. По своей природе множество целых чисел дискретно, т. к. состоит из отдельных элементов.
И хотя любое целое число можно рассматривать как вещественное, но с нулевой дробной частью, предусмотрены специальные способы представления целых чисел. Это обеспечивает: эффективное расходование памяти, повышение быстродействия, повышение точности вычислений за счёт введения операции деления нацело с остатком.
Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда.
Беззнаковое представление можно использовать только для неотрицательных целых чисел.
Для получения компьютерного представления беззнакового целого числа в n-разрядной ячейке памяти достаточно перевести его в двоичную систему счисления и, при необходимости, дополнить полученный результат слева нулями до n-разрядов.
Например, десятичные числа 130 и 39 в восьмиразрядном представлении будут иметь вид:
При знаковом представлении целых чисел старший разряд ячейки отводится под знак (0 — для положительных, 1 — для отрицательных чисел), а остальные разряды — под цифры числа.
Представление числа в привычной для человека форме «знак-величина», при которой старший разряд ячейки отводится под знак, а остальные разряды — под цифры числа, называется прямым кодом.
В математике множество целых чисел бесконечно.
Компьютер работает с ограниченным множеством целых чисел.
Прямой код положительного числа отличается от прямого кода равного по абсолютной величине отрицательного числа только содержимым знакового разряда.
В прямом коде числа можно хранить, но выполнение арифметических операций над числами в прямом коде затруднено — оно требует более сложной архитектуры центрального процессора, «умеющего» выполнять не только сложение, но и вычитание, а также «знающего» особый алгоритм обработки не имеющего «веса» знакового разряда. Этих трудностей позволяет избежать использование дополнительного кода.
Чтобы понять сущность дополнительного кода, рассмотрим работу реверсивного счётчика, последовательность показаний которого можно представить в виде замкнутого кольца из чисел (рис. 3.5).
Рис. 3.5. Реверсивный счётчик
При возрастании показаний счётчика до максимального, например до 999, следующими его состояниями должны быть 1000, 1001, 1002 и т. д. Но для изображения старшей единицы в счётчике не хватает разряда, происходит переполнение разрядной сетки. Поэтому мы увидим 000, 001, 002 и т. д.
1 + 999 = 1000;
2 + 998 = 1000;
3 + 997 = 1000.
С учётом того что единица переполнения теряется, мы, сложив число и код противоположного ему числа, получаем ноль!
Вот ещё несколько примеров:
5-2 = 5 + [-2] = 5 + 998 = 1003;
7-5 = 7 + [-5] = 7 + 995 = 1002.
Для устранения неоднозначности в кольце будем считать половину состояний (0-499) кодами нуля и положительных чисел, а оставшуюся половину (500-999) — кодами отрицательных чисел.
Рассмотрим алгоритм получения дополнительного n-разрядного кода отрицательного числа:
1) модуль числа представить прямым кодом в n двоичных разрядах;
2) значения всех разрядов инвертировать (все нули заменить единицами, а единицы — нулями);
3) к полученному представлению, рассматриваемому как n-разрядное неотрицательное двоичное число, прибавить единицу.
Использование дополнительного кода позволяет свести операцию вычитания чисел к операции поразрядного сложения кодов этих чисел.
Выполним эту операцию в 16-разрядных машинных кодах.
Рассмотрим полученный результат. Это отрицательное число (об этом говорит 1 в знаковом разряде), представленное в дополнительном коде. Перейдём к прямому коду модуля соответствующего числа, по которому сможем восстановить десятичное представление результата.
Прямой код можно получить из дополнительного кода, если применить к нему операцию инвертирования и прибавить единицу.
13.2. Представление вещественных чисел
В математике множество вещественных чисел непрерывно, бесконечно и не ограничено.
Попробуйте обосновать это утверждение.
Вещественные числа записываются в естественной или в экспоненциальной форме.
В жизни мы чаще пользуемся естественной формой записи чисел, при которой: число представляется последовательностью десятичных цифр со знаком плюс или минус, знак плюс может опускаться, для разделения целой и дробной частей числа используется запятая.
Например, длину некоторого отрезка, равного 47,8 см, можно записать так:
Такое многообразие вариантов записи в экспоненциальной форме одного и того же числа не всегда удобно. Для однозначного представления вещественных чисел в компьютере используется нормализованная форма.
Примеры нормализации чисел:
Диапазон вещественных чисел в памяти компьютера очень широк, но, тем не менее, ограничен. Множество вещественных чисел, которые могут быть представлены в компьютере, конечно.
Поясним это на примере калькулятора, который производит вычисления в десятичной системе счисления. Пусть это будет калькулятор с десятью знакоместами на дисплее:
• 6 знакомест отводится под мантиссу (одно знакоместо отводится под знак мантиссы, четыре — под цифры мантиссы, одно — под точку, разделяющую целую и дробную части мантиссы);
• одно знакоместо отводится под символ «Е»;
• три знакоместа отводятся под порядок (одно — под знак порядка, два — под цифры порядка).
У калькуляторов первая значащая цифра, с которой и начинается мантисса, изображается перед точкой.
Число 12,34 в таком калькуляторе будет представлено как +1.234Е+01.
Число 12,35 будет представлено как + 1.235Е+01.
Как известно, между числами 12,34 и 12,35 находится бесконечное множество вещественных чисел, например: 12,341; 12,3412; 12,34123 и т. д.
Каждое из этих чисел в нашем калькуляторе будет представлено как + 1.234Е+01. Для последних разрядов у нас просто не хватает знакомест! Аналогичная ситуация имеет место и в компьютерном представлении вещественных чисел, независимо от того, ячейки какой разрядности там использованы.
Получается, что точно мы можем представить в компьютере лишь некоторую конечную часть множества вещественных чисел, а остальные числа — лишь приближённо.
Таким образом, множество вещественных чисел, представляемых в компьютере, дискретно, конечно и ограничено.
САМОЕ ГЛАВНОЕ
В математике множество целых чисел дискретно, бесконечно и не ограничено.
Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда. В любом случае компьютерное представление целых чисел дискретно, конечно и ограничено.
В математике множество вещественных чисел непрерывно, бесконечно и не ограничено.
Вопросы и задания
*7. Найдите десятичные эквиваленты чисел, представленных в дополнительном коде: 1) 00000100; 2) 11111001.
1) в прямом коде;
2) в дополнительном коде?
9. Вычислите с помощью калькулятора (приложение Windows) в режиме «Программист» следующие примеры:
Как вы можете объяснить полученные результаты?
10. Запишите десятичные числа в нормализованной форме:
1) 217,934; 2) 75321; 3) 10,0101; 4) 200450.
11. Сравните следующие числа:
12. Выполните операцию сложения:
13. Чем ограничивается диапазон представимых в памяти компьютера вещественных чисел?
14. Почему множество вещественных чисел, представимых в памяти компьютера, дискретно, конечно и ограничено?
*15. Попытайтесь самостоятельно сформулировать основные принципы представления данных в компьютере.
Целое (тип данных)
Содержание
Представление
В памяти типовой компьютерной системы целое число представлено в виде цепочки битов фиксированного (кратного 8) размера. Эта последовательность нолей и единиц — ни что иное, как двоичная запись числа, поскольку обычно для представления чисел в современной компьютерной технике используется позиционный двоичный код. Диапазон целых чисел, как правило, определяется количеством байтов в памяти компьютера, отводимых под одну переменную.
Для 64-разрядных операционных систем учитывая разность моделей данных (LP64, LLP64, ILP64), представление целого типа на разных моделях данных может отличаться между собой. Тип int и long может составлять как 4 так и 8 байт.
Стоит отметить, что каждый язык программирования реализует свою сигнатуру представления целых чисел, которая может отличатся от международных стандартов, но обязана его/их поддерживать. К примеру можно отнести кросс-платформенную библиотеку Qt, где целое представляется типом qintX и quintX, где X-8,16,32,64.
Целые типы подразделяются на беззнаковые (англ. unsigned ) и знаковые (англ. signed ).
Беззнаковые целые
В C и C++ для обозначения беззнаковых типов используется префикс unsigned. В C# в качестве показателя беззнаковости используется префикс u (англ. unsigned). Например, для объявления беззнакового целого, равного по размеру одному машинному слову используется тип uint.
Беззнаковые целые, в частности, используются для адресации памяти, представления символов.
Иногда в литературе [1] встречаются рекомендации не использовать тип беззнаковые целые, поскольку он может быть не реализован процессором компьютера, однако вряд ли этот совет следует считать актуальным — большинство современных процессоров (в том числе x86-совместимые [2] ) одинаково хорошо работают как со знаковыми, так и с беззнаковыми целыми.
В некоторых языках, например java, беззнаковые целые типы (за исключением символьного) отсутствуют. [3]
Целые со знаком
Предельные значения для разных битностей
Ниже представлена таблица предельных значений десятичных чисел для разных битностей при кодировании дополнительным кодом. Не зависимо от битности у целых без знака минимальным значением всегда является 0 и поэтому оно не упомянуто. Справа от значения указано количество значащих цифр.
Бит | Максимальное без знака | Минимальное со знаком | Максимальное со знаком | |||
---|---|---|---|---|---|---|
Значение | Цифр | Значение | Цифр | Значение | Цифр | |
4 | 15 | 2 | -8 | 1 | 7 | 1 |
8 | 255 | 3 | -128 | 3 | 127 | 3 |
16 | 65 535 | 5 | -32 768 | 5 | 32 767 | 5 |
24 | 16 777 215 | 8 | -8 388 608 | 7 | 8 388 607 | 7 |
32 | 4 294 967 295 | 10 | -2 147 483 648 | 10 | 2 147 483 647 | 10 |
48 | 281 474 976 710 655 | 15 | -140 737 488 355 328 | 15 | 140 737 488 355 327 | 15 |
64 | 18 446 744 073 709 551 615 | 20 | -9 223 372 036 854 775 808 | 19 | 9 223 372 036 854 775 807 | 19 |
96 | 79 228 162 514 264 337 593 543 950 335 | 29 | -39 614 081 257 132 168 796 771 975 168 | 29 | 39 614 081 257 132 168 796 771 975 167 | 29 |
128 | 340 282 366 920 938 463 463 374 607 431 768 211 455 | 39 | -170 141 183 460 469 231 731 687 303 715 884 105 728 | 39 | 170 141 183 460 469 231 731 687 303 715 884 105 727 | 39 |
Операции над целыми
Арифметические операции
К целочисленным значениям применимы в первую очередь арифметические операции. Ниже приведены самые часто используемые (в скобках указаны их обозначения в различных языках программирования и им аналогичным средствах).
В некоторых языках программирования для лаконичности есть операторы, которые позволяют производить арифметическую операцию с присвоением. Например, «+=» складывает текущее значение переменной слева с выражением справа и помещает результат в исходную переменную. Так же в некоторых языках и средах доступна совмещённая операция MulDiv, которая умножает на одно число, а потом делит результат на второе.
Обычно самыми дорогими по скорости операциями являются умножение и деление (получение остатка от деления).
В памяти компьютера для хранения целых чисел обычно отводится ячейки фиксированного объёма. Из-за этого операции увеличения и уменьшения значений могут приводить к переполнению, что оборачивается искажением результата. Некоторые языки программирования позволяют производит вызов исключения в таких случаях. Кроме этого можно определять поведение при переполнении:
Побитовые операции
Помимо математических, к целым числам применимы битовые операции, которые основаны на особенностях позиционного двоичного кодирования. Обычно они выполняются значительно быстрее арифметических операций и поэтому их используют как более оптимальные аналоги.
Работа со строками
Довольно частыми операциями являются получение строки из числового значения во внутреннем представлении и обратно — число из строки. При преобразовании в строку обычно доступны средства задания форматирования в зависимости от языка пользователя.
Ниже перечислены некоторые из представлений чисел строкой.
Перечислимый тип
К целым относится также перечислимый тип. Переменные перечислимого типа принимают конечный заранее заданный набор значений. Размер набора не определяется числом байтов, используемых для представления целочисленных значений переменных такого типа.
Представление чисел в компьютере
После того, как мы узнали об основных единицах для измерения информации необходимо разобраться с тем, как в ЭВМ хранятся различные типы данных. В этой статье мы поговорим про представление чисел в компьютере.
Основные понятия и положения
Прежде чем начать разбираться в теме, следует понимать, что все ЭВМ, на данный момент времени, работают с двоичной системой счисления. Это значит, что и вся информация (звуковая, графическая или текстовая) хранится в памяти ПК в виде последовательностей нулей и единиц.
Схематично компьютерная память выглядит так, как показано на схеме ниже:
Как видно из рисунка внутренняя память представляет собой разряды, каждый из которых содержит один бит информации (0 или 1). А восемь битовых кластеров образуют один байт (машинное слово).
Машинное слово – минимально адресуемая ячейка памяти, которую за раз можно обработать командой процессора. То есть минимально процессор может обработать один байт.
Отсюда также вытекает правило, что данные в компьютере представляются дискретно (отдельно). В качестве примера приведем изображение на мониторе. Оно состоит из точек (пикселей). Цвет же каждой точки задается последовательностью из 0 и 1.
Представление чисел в компьютере
Существует несколько вариантов для отображения чисел в ЭВМ, и зависят они от формата числа.
Представление целых чисел в ЭВМ
Для представления целых чисел, в вычислительных машинах существует несколько способов, которые используют 8,16, 24 или 32 разряда памяти (1, 2, 3 и 4 байта).
Первым способом является беззнаковое представление. С его помощью представляются только целые положительные величины, которые не участвуют в арифметических операциях и выступают в роли констант (дата, время и т.д.).
Чтобы представить число в беззнаковой форме необходимо перевести его в двоичную систему счисления и дополнить с начала нулями до нужной разрядности (дополняем до 1,2,3 или 4 байт).
Также следует отметить, что есть ограничения на количество чисел, которые можно представить в n разрядной ячейке. Для беззнаковых величин оно составляет \( 2^n \).
Пример: Перевести 54 в беззнаковый формат.
Находим представление 54 в бинарной системе счисления:
\( 1) \ 54:2 \ = \ 27 \ | \ Остаток \ 0 \)
\( 2) \ 27:2 \ = \ 13 \ | \ Остаток \ 1 \)
\( 3) \ 13:2 \ = \ 6 \ | \ Остаток \ 1 \)
\( 4) \ 6:2 \ = \ 3 \ | \ Остаток \ 0 \)
\( 5) \ 3:2 \ = \ 1 \ | \ Остаток \ 1 \)
Итого \( 54_ <10>\) равняется \( 110110_ <2>\).
Дополняем результат до одной из стандартных разрядностей (8 бит) = 00110110.
Ответ: 00110110.
Для представления чисел, которые участвуют в вычислительных операциях, используется представление со знаком. В такой форме записи старший разряд всегда отводится под знак (0 для положительных чисел и 1 для отрицательных).
В случае со знаковым представлением также существуют ограничения. Так как один разряд отводится под знак, то в n-разрядную ячейку можно записать \( (2^
Также следует отметить следующую особенность — все отрицательные значения в компьютере хранятся в обратном или дополнительном коде, а положительные в прямом.
Для того чтобы перевести число в обратный и дополнительный код вам надо:
Почему же для хранения отрицательных чисел используют обратный или дополнительный код? Это позволяет изменить операцию вычитания на операцию сложения. В противном случае компьютеру бы каждый раз приходилось выяснять, где положительная величина, а где отрицательная и после этого сравнивать их модули, для определения конечного знака, что очень сильно усложняло бы весь алгоритм.
Представление вещественных чисел
Всего существует два способа для представления множества вещественных значений – естественная или экспоненциальная форма.
В жизни мы пользуемся естественной формой. Так число 42,6 мы можем записать несколькими способами. Например:
В компьютере же используется экспоненциальная форма записи. Выглядит она так:
Здесь m – мантисса, которая представляет собой правильную дробь (в правильных дробях числитель меньше знаменателя).
q – система счисления, в которой представлено число.
P – порядок.
В ЭВМ отводится один разряд под знак мантиссы, один под знак порядка и различное число бит под саму мантиссу и порядок. Данный формат записи называется «С плавающей запятой».
Чем больше бит отводится под мантиссу, тем точнее представляемая величина, чем больше ячеек отводится под порядок, тем шире диапазон от наименьшего числа, до наибольшего числа, представляемого в компьютере при заданном формате.
Так как компьютерная память величина дискретная и конечная, то и множество вещественных чисел, с которым работает ЭВМ также конечно.
Видео
Заключение
Вот мы и разобрались с представлением чисел в компьютере и информатике. Краткий материал из данной статьи вы можете использовать для своей онлайн-презентации. При возникновении вопросов оставляйте их в комментариях.