какие форматы представления чисел в компьютере существуют
Форматы представления чисел в компьютере
Для хранения чисел в памяти компьютера используется два формата: целочисленный(естественная форма)и с плавающей точкой (нормализованная форма)(точка — разделительный знак для целой и дробной части числа).
Целочисленный формат (формат с фиксированной точкой) используется для представления в компьютере целых (англ. integer) положительных и отрицательных чисел. Для этого, как правило, используются форматы, кратные байту: 1, 2, 4 байта.
В форме с фиксированной запятой числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой (или точки), отделяющей целую часть от дробной.
Эта форма проста и привычна для большинства пользователей, но имеет небольшой диапазон представления чисел и поэтому не всегда пригодна при вычислениях. Если же в результате какой-либо арифметической операции получается число, выходящее за допустимый диапазон, то происходит переполнение разрядной сетки, и все дальнейшие вычисления теряют смысл.
Однобайтовое представление применяется только для положительных целых чисел. В этом формате отсутствует знаковый разряд. Наибольшее двоичное число, которое может быть записано при помощи 1 байта, равно 11111111, что в десятичной системе счисления соответствует числу 25510.
Самое большое (по модулю) целое число со знаком, которое может поместиться в 2-байтовом формате, это число 0111111111111111, то есть при помощи подобного кодирования можно представить числа от −32 76810 до 32 76710.
Если число вышло за указанные границы, произойдет переполнение! Поэтому при работе с большими целыми числами под них выделяется больше места, например 4 байта.
Формат с плавающей точкой (нормализованная форма) используется для представления в компьютере действительных чисел (англ. real). Числа с плавающей точкой размещаются, как правило, в 4 или 8 байтах.
Нормализованная форма представления чисел обеспечивает огромный диапазон их записи и является основной в современных ЭВМ.
Представление целого положительного числа в компьютере
Для представления целого положительного числа в компьютере используется следующее правило:
— число переводится в двоичную систему;
— результат дополняется нулями слева в пределах выбранного формата;
— последний разряд слева является знаковым, в положительном числе он равен 0.
Представление целого отрицательного числа в компьютере
Для представления целого отрицательного числа в компьютере используется дополнительный код. Такое представление позволяет заменить операцию вычитания числа операцией сложения с дополнительным кодом этого числа. Знаковый разряд целых отрицательных чисел всегда равен 1.
Для представления целого отрицательного числа в компьютере используется следующее правило:
— к полученному коду прибавляется 1.
Обратный код для положительного двоичного числа совпадает с его прямым кодом, а для отрицательного числа нужно во всех разрядах, кроме знакового, нули заменить единицами и наоборот.
Дополнительный код для положительного числа совпадает с его прямым кодом, а для отрицательного числа образуется путем прибавления 1 к обратному коду.
Отрицательное число может быть представлено в виде 2 или 4 байт.
Например, представим число −13510 в 2-байтовом формате:
— 13510® 10000111 (перевод десятичного числа без знака в двоичный код);
— 0000000010000111(дополнение двоичного числа нулями слева в пределах формата);
— 0000000010000111® 1111111101111000(перевод в обратный код);
— 1111111101111000® 1111111101111001 (перевод в дополнительный код).
Представление вещественного (действительного) числа в компьютере
Вещественное число может быть представлено в экспоненциальном виде, например:
В этом формате вещественное число (R) представляется в виде произведения мантиссы (m) и основания системы счисления (P) в целой степени (n), называемой порядком.
Представим это в общем виде, как: R=m⋅Pn.
Порядок n указывает, на какое количество позиций и в каком направлении должна сместиться в мантиссе точка (запятая), отделяющая дробную часть от целой. Мантисса, как правило, нормализуется, то есть представляется в виде правильной дроби 0
Форматы представления чисел в компьютере
Для хранения чисел в памяти компьютера используется два формата: целочисленный (естественная форма) и с плавающей точкой (нормализованная форма) (точка — разделительный знак для целой и дробной части числа).
Целочисленный формат (формат с фиксированной точкой) используется для представления в компьютере целых (англ. integer) положительных и отрицательных чисел. Для этого, как правило, используются форматы, кратные байту: 1, 2, 4 байта.
В форме с фиксированной запятой числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой (или точки), отделяющей целую часть от дробной.
Эта форма проста и привычна для большинства пользователей, но имеет небольшой диапазон представления чисел и поэтому не всегда пригодна при вычислениях. Если же в результате какой-либо арифметической операции получается число, выходящее за допустимый диапазон, то происходит переполнение разрядной сетки, и все дальнейшие вычисления теряют смысл.
Однобайтовое представление применяется только для положительных целых чисел. В этом формате отсутствует знаковый разряд. Наибольшее двоичное число, которое может быть записано при помощи 1 байта, равно 11111111, что в десятичной системе счисления соответствует числу 255(10).
Самое большое (по модулю) целое число со знаком, которое может поместиться в 2-байтовом формате, это число 0111111111111111, то есть при помощи подобного кодирования можно представить числа от −32 768(10) до 32 767(10).
Обрати внимание!
Если число вышло за указанные границы, произойдет переполнение! Поэтому при работе с большими целыми числами под них выделяется больше места, например 4 байта.
Формат с плавающей точкой (нормализованная форма) используется для представления в компьютере действительных чисел (англ. real). Числа с плавающей точкой размещаются, как правило, в 4 или 8 байтах.
Нормализованная форма представления чисел обеспечивает огромный диапазон их записи и является основной в современных ЭВМ.
Представление целого положительного числа в компьютере
Для представления целого положительного числа в компьютере используется следующее правило:
— число переводится в двоичную систему;
— результат дополняется нулями слева в пределах выбранного формата;
— последний разряд слева является знаковым, в положительном числе он равен 0.
Представление целого отрицательного числа в компьютере
Для представления целого отрицательного числа в компьютере используется дополнительный код. Такое представление позволяет заменить операцию вычитания числа операцией сложения с дополнительным кодом этого числа. Знаковый разряд целых отрицательных чисел всегда равен 1.
Для представления целого отрицательного числа в компьютере используется следующее правило:
Обратный код для положительного двоичного числа совпадает с его прямым кодом, а для отрицательного числа нужно во всех разрядах, кроме знакового, нули заменить единицами и наоборот.
Дополнительный код для положительного числа совпадает с его прямым кодом, а для отрицательного числа образуется путем прибавления 1 к обратному коду.
Отрицательное число может быть представлено в виде 2 или 4 байт.
Например, представим число −135(10) в 2-байтовом формате:
— 135(10) →1000 0111 (перевод десятичного числа без знака в двоичный код);
— 0000 0000 1000 0111(дополнение двоичного числа нулями слева в пределах формата);
— 0000 0000 1000 0111 → 1111 1111 0111 1000 (перевод в обратный код);
— 1111 1111 0111 1000 → 1111 1111 0111 1001 (перевод в дополнительный код).
Представление вещественного (действительного) числа в компьютере
Вещественное число может быть представлено в экспоненциальном виде, например:
В этом формате вещественное число (R) представляется в виде произведения мантиссы (m) и основания системы счисления (P) в целой степени (n), называемой порядком.
Представим это в общем виде, как: R=m⋅P^n.
Порядок n указывает, на какое количество позиций и в каком направлении должна сместиться в мантиссе точка (запятая), отделяющая дробную часть от целой. Мантисса, как правило, нормализуется, то есть представляется в виде правильной дроби 0
В 4-байтовом формате представления вещественного числа первые три байта выделяются для размещения мантиссы, в четвертом байте размещаются порядок числа, знаки числа и порядка.
Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа.
Пример записи числа 6,25(10) = 110,01(2) = 0,11001⋅2^11, представленного в нормализованном виде, в четырёхбайтовом формате с семью разрядами для записи порядка.
Практические примеры
Пример 1
Пример 2
25,12 положительное. в знак 0
25,12 делим на 2, пока >= 1. получаем 1,57 за 4 деления (если поделим еще раз, будет уже 0,785 1. делим на 2¹¹. получаем 1.687548828125, в экспоненту 11
1.687548828125 * 8388608 = 14156185.6.
округляем. 14156186 = 1101 1000 0000 0001 1001 1010₂, отбрасываем старшую единицу: 101 1000 0000 0001 1001 1010₂
знак 1
экспонента 127 + 11 = 10001010₂
мантисса 10110000000000110011010₂
результат 1 10001010 10110000000000110011010₂
Представление чисел в компьютере
Урок 4. Информатика 8 класс (ФГОС)
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.
Получите невероятные возможности
Конспект урока «Представление чисел в компьютере»
На данном уроке мы с вами узнаем, как представляются целые и вещественные числа в компьютере.
А начнём мы с вами с целых чисел.
Как вы уже знаете, целые числа – это множество чисел, которое состоит из натуральных чисел, чисел, противоположных натуральным, и нуля.
Итак, оперативная память представляет собой таблицу, то есть состоит из ячеек.
Каждая ячейка оперативной памяти представляет собой физическую систему, которая состоит из некоторого числа однородных элементов. Эти элементы обладают двумя устойчивыми состояниями, которые соответствуют двум числам – нулю и единице. Каждый такой элемент предназначен для хранения одного из битов – разряда двоичного числа. Поэтому каждый элемент ячейки называется битом или разрядом.
То есть, можно сказать, что каждая ячейка оперативной памяти содержит число, представленное в двоичной системе счисления, так как вся информация представлена в памяти компьютера именно в этой системе счисления. Каждая ячейка также включает в себя некоторое количество клеточек (ячеек). В каждой клеточке содержится число ноль или один. Это зависит от того, какой код соответствует изначальному числу.
Давайте рассмотрим одну ячейку, которая состоит из n разрядов.
Она разбита на n клеточек. n обозначает количество разрядов или битов, отведённых под исходное число. Первая клеточка слева – это (n-1)-й разряд. Вторая – (n-2)-й разряд и так далее. Последняя клеточка – это 0-й разряд.
Можно сказать, что разряд – это степени для числа два в двоичной системе счисления.
Для представления целых чисел в компьютере существует несколько различных способов, которые отличаются друг от друга количеством разрядов и наличием или отсутствием знакового разряда. Обычно под целые числа отводится 8, 16, 32 или 64 разряда или бита.
Существует беззнаковое и знаковое представление чисел. Беззнаковое представление можно использовать только для неотрицательных чисел, отрицательные же числа представляются только в знаковом виде.
Беззнаковое представление используется для таких объектов, как адреса ячеек; счётчиков, например, количество символов в тексте; чисел, которые обозначают дату и время; размеров графических изображений в пикселях и много другое.
Для этих данных используется беззнаковое представление, так как они никак не могут быть отрицательными числами.
В первом столбце указано количество битов, во втором минимальное значение, а в третьем – максимальное значение.
Минимальное значение во всех строка равно нулю. А вот максимальное вычисляется по формуле 2 n – 1. То есть максимальное восьмиразрядное число будет равно 255.
2 8 – 1 = 256 – 1 = 255.
Максимальное значение целого неотрицательного числа достигается в том случае, когда во всех разрядах ячейки хранятся единицы.
Давайте разберёмся на примере.
Возьмём восьмиразрядную ячейку и поместим в неё максимально допустимое число 255.
Исходя из этого можем сказать, что наша ячейка состоит из 8 разрядов или клеточек. При переводе числа 255 в двоичную систему счисления получим 8 единиц. То есть в каждой клеточке будет содержаться по единице.
Число разрядов n=8. Давайте над каждой клеточкой расставим соответствующий разряд начиная с крайней левой.
Давайте вспомним общий вид нашей ячейки.
То есть ячейка из n разрядов, в нашем случае 8, состоит из n клеточек (снова из 8), а каждый разряд вычисляется по формуле n – 1, n – 2 и так далее. В зависимости от того, на каком месте находится ячейка.
А если мы возьмём все наши единицы и проставим над ними наши разряды, то мы можем перевести наше число из двоичной системы счисления в десятичную уже известным нам образом.
Если же брать число 256, то мы не сможем поместить его в восьмиразрядную ячейку, так как оно будет состоять из единицы и восьми нулей, а клеточек у нас 8.
Если мы возьмём число 65 535, то в двоичной системе счисления оно будет состоять из 16 единиц. А если шестнадцатиразрядную ячейку снова представить, как строку, состоящую из 16 клеточек и расставить соответствующие разряды, то она будет выглядеть следующим образом:
Для получения компьютерного представления беззнакового целого числа достаточно перевести его в двоичную систему счисления и дополнить полученный результат слева нулями до стандартной разрядности.
Давайте рассмотрим, как будет выглядеть число 125 в восьмиразрядном и шестнадцатиразрядном представлениях. Для этого переведём наше число в двоичную систему и получим следующее:
Наше число состоит из 7 цифр. Поместим его в восьмиразрядную ячейку.
Но ячеек 8, а цифр 7. В таком случае помещаем наше число в крайние справа семь ячеек, а в первую левую запишем ноль.
Он не повлияет на наше число, но все разряды ячейки должны быть заполнены цифрами.
А если мы поместим это же число в шестнадцатиразрядную ячейку, то получим 9 ячеек слева, заполненных нулями, а в остальных 7 будет располагаться наше число.
То есть можно сказать, что мы записываем наше число в двоичной системе счисления, а затем дополняем эту двоичную запись незначащими нулями слева в зависимости от того, из скольких разрядов состоит наше представление числа.
Это то, что касается беззнакового представления чисел.
При представлении числа со знаком (плюсом, если это положительное число, и минусом, если это отрицательное число) самый старший разряд, то есть тот, который находится слева, отводится под знак числа, а остальные разряды – под само число. Если число положительное, то в самый старший разряд (самую левую клеточку) пишется цифра 0, а если отрицательное, то 1.
Такое представление чисел называется прямым кодом. Такие коды в компьютере используются для хранения положительных чисел в запоминающих устройствах, для выполнения операций с положительными числами.
Например, число 56 в двоичной системе будет равно: 1110002.
Оно в себя включает 6 цифр. Запишем его в восьмиразрядную ячейку.
Две оставшиеся слева клеточки заполним нулями, так как число положительное.
А если бы наше число было отрицательным, то оно выглядело бы следующим образом.
В старший разряд мы поставили единицу, так как число отрицательное.
Для выполнения операций с отрицательными числами используется дополнительный код, который позволяет заменить операцию вычитания сложением.
Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму:
· записать прямой код модуля числа;
· инвертировать его (заменить единицы нулями, нули – единицами);
· прибавить к инверсному коду единицу.
Давайте рассмотрим применение этого алгоритма на примере.
Нам дано число –25. При переводе в двоичную систему модуля числа получим следующее число: 110012.
Теперь смотрим на первый пункт. Нам необходимо записать прямой код модуля числа. Возьмём восьмиразрядный код. То есть наше число будет записано в клеточки, а в трёх пустых клеточках слева от него – нули.
Далее во втором пункте нам необходимо инвертировать наше число, то есть заменить единицы нулями, а нули – единицами. Получим следующее:
Теперь нам осталось, исходя из третьего пункта, прибавить к числу единицу. Получим следующее число:
Всё, что говорилось ранее, относилось к представлению целых чисел. Для представления вещественных чисел используется немного другой способ. Давайте рассмотрим его.
Любое вещественное число A может быть записано в экспоненциальной форме:
q – основание системы счисления.
Возьмём для примера число 1 345 572. Его можно представить различными способами:
С экспоненциальной формой записи вы наверняка уже встречались. Например, считая на калькуляторе, вы могли получить следующее число: 1,34Е + 6.
Из примера, можно сделать вывод, что положение запятой может изменяться.
Вещественное число может занимать в памяти компьютера 32 или 64 разряда.
То есть наша ячейка в памяти может состоять из 32 или 64 клеточек. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.
Давайте разберёмся на примере. Возьмём число 125 в десятичной системе счисления и запишем её в тридцатидвухразрядную ячейку.
Для начала нам нужно перевести число 125 в двоичную систему счисления. Получим следующее: 12510 = 11111012.
Теперь запишем это число в экспоненциальной форме.
Ставим равно. Мантиссой числа будет следующее: 0,1111101.
Ставим знак умножения. q – это основание системы счисления. В нашем случает это двоичная система счисления. Число 2 в двоичной системе счисления будет состоять из цифр 1 и 0. Запишем его.
11111012 = 0,1111101 · 10.
p – это порядок числа или же степень. Мы с вами перенесли наше число на семь знаков вправо после запятой. Значит наше p будет равно 7. При переводе числа семь в двоичную систему счисления получим следующее:
Мы с вами записали двоичное число в экспоненциальной форме.
Теперь перенесём всё в клеточки ячейки памяти, размером 32 разряда.
Под знак и порядок выделяется восемь клеточек, под знак и мантиссу двадцать четыре.
Первую клеточку слева выделяем под знак. Так как наше число положительное, то ставим цифру 0.
В разделе «Знак и порядок» запишем число 7 в двоичной системе счисления. Оставшиеся клеточки заполним нулями.
Теперь переходим к разделу «Знак и мантисса». В первой слева снова ставим цифру ноль, которая обозначает, что знак нашего числа положительный.
Далее запишем наше число, а оставшиеся клеточки заполним нулями.
Мы записали наше число в тридцатидвухразрядную ячейку.
Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка чисел, а точность – количеством разрядов, отведённых для хранения мантиссы.
Давайте рассмотрим следующий пример:
В нём максимальное значение порядка числа составляет: 11111112 = 12710.
Широкий диапазон представления вещественных чисел важен для решения научных и инженерных задач. Но в тоже время алгоритмы обработки таких чисел более трудоёмки по сравнению с алгоритмами обработки целых чисел.
А теперь пришла пора подвести итоги урока.
Сегодня мы узнали, как представляются целые и вещественные числа в компьютере, а также научились преобразовывать числа в ячейки памяти, учитывая разрядность ячейки.