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

Информатика

Система счисления — это совокупность правил записи чисел посредством конечного набора символов (цифр).

  • непозиционными (в этих системах значение цифры не зависит от ее позиции — положения в записи числа);
  • позиционными (значение цифры зависит от позиции).

Непозиционные системы счисления

Позиционные системы счисления

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

pi = s i ,
где i — номер разряда, а s — основание системы счисления.

Разряды числа нумеруются справа налево, причем младший разряд целой части (стоящий перед разделителем — запятой или точкой) имеет номер ноль. Разряды дробной части имеют отрицательные номера:

число 5 3 7 2 . 2 5
номера разрядов 3 2 1 0 -1 -2

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

Существует несколько вариантов для отображения чисел в ЭВМ, и зависят они от формата числа.

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

Для представления целых чисел, в вычислительных машинах существует несколько способов, которые используют 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_ ) равняется ( 110110_ ). ​​

Дополняем результат до одной из стандартных разрядностей (8 бит) = 00110110.

Ответ: 00110110.

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

представление знаковых чисел в компьютере

В случае со знаковым представлением также существуют ограничения. Так как один разряд отводится под знак, то в n-разрядную ячейку можно записать ( (2^ -1) ) положительных и ​( 2^ ) отрицательных значений.

диапазон знаковых чисел

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

Для того чтобы перевести число в обратный и дополнительный код вам надо:

  1. Взять его значение по модулю и перевести в двоичную систему счисления (получим прямой код).
  2. Все нули заменить на 1, а единицы на нули (получаем обратный код).
  3. Для получения дополнительного кода прибавляем к нулевому разряду единицу.

Пример: Перевести -54 в дополнительный код.

  1. Из предыдущего примера — 54 в бинарной системе и беззнаковой форме равняется 00110110.
  2. Для получения обратного кода меняем 0 на 1, а 1 на 0 — 11001001.
  3. Чтобы получить дополнительный код прибавляем в конец единицу — 11001001 + 00000001 = 11001010.

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

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

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

В жизни мы пользуемся естественной формой. Так число 42,6 мы можем записать несколькими способами. Например:

  • ​ ( 426*10^ ) ​;
  • ​ ( 4,26*10^1 ) ​;
  • ​ ( 42,6*10^0 ) ​.

В компьютере же используется экспоненциальная форма записи. Выглядит она так:

вещественное число

Здесь m – мантисса, которая представляет собой правильную дробь (в правильных дробях числитель меньше знаменателя).

q – система счисления, в которой представлено число.

P – порядок.

В ЭВМ отводится один разряд под знак мантиссы, один под знак порядка и различное число бит под саму мантиссу и порядок. Данный формат записи называется «С плавающей запятой».

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

Чем больше бит отводится под мантиссу, тем точнее представляемая величина, чем больше ячеек отводится под порядок, тем шире диапазон от наименьшего числа, до наибольшего числа, представляемого в компьютере при заданном формате.

Так как компьютерная память величина дискретная и конечная, то и множество вещественных чисел, с которым работает ЭВМ также конечно.

Конспект урока «Представление чисел в компьютере»

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

А начнём мы с вами с целых чисел.

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

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

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

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

Давайте рассмотрим одну ячейку, которая состоит из n разрядов.

Она разбита на n клеточек. n обозначает количество разрядов или битов, отведённых под исходное число. Первая клеточка слева – это (n-1)-й разряд. Вторая – (n-2)-й разряд и так далее. Последняя клеточка – это 0-й разряд.

Можно сказать, что разряд – это степени для числа два в двоичной системе счисления.

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

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

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

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

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

В первом столбце указано количество битов, во втором минимальное значение, а в третьем – максимальное значение.

Минимальное значение во всех строка равно нулю. А вот максимальное вычисляется по формуле 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 может быть записано в экспоненциальной форме:

m – мантисса числа.

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

p – порядок числа.

Возьмём для примера число 1 345 572. Его можно представить различными способами:

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

Оно обозначает следующее: 1,34 · 10 6 . То есть знак Е – это основание десятичной системы счисления.

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

Для единообразия мантиссу обычно записывают как правильную дробь, которая имеет после запятой цифру, отличную от нуля. То есть наше число 1 345 572 будет выглядеть следующим образом: 1 345 572 = 0,1345572 • 10 7 .

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

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

Давайте разберёмся на примере. Возьмём число 125 в десятичной системе счисления и запишем её в тридцатидвухразрядную ячейку.

Для начала нам нужно перевести число 125 в двоичную систему счисления. Получим следующее: 12510 = 11111012.

Теперь запишем это число в экспоненциальной форме.

Ставим равно. Мантиссой числа будет следующее: 0,1111101.

Ставим знак умножения. q – это основание системы счисления. В нашем случает это двоичная система счисления. Число 2 в двоичной системе счисления будет состоять из цифр 1 и 0. Запишем его.

11111012 = 0,1111101 · 10.

p – это порядок числа или же степень. Мы с вами перенесли наше число на семь знаков вправо после запятой. Значит наше p будет равно 7. При переводе числа семь в двоичную систему счисления получим следующее:

11111012 = 0,1111101 · 10 111 .

Мы с вами записали двоичное число в экспоненциальной форме.

Теперь перенесём всё в клеточки ячейки памяти, размером 32 разряда.

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

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

В разделе «Знак и порядок» запишем число 7 в двоичной системе счисления. Оставшиеся клеточки заполним нулями.

Теперь переходим к разделу «Знак и мантисса». В первой слева снова ставим цифру ноль, которая обозначает, что знак нашего числа положительный.

Далее запишем наше число, а оставшиеся клеточки заполним нулями.

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

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

Давайте рассмотрим следующий пример:

В нём максимальное значение порядка числа составляет: 11111112 = 12710.

Следовательно, максимальное значение числа будет равно: 0,11111111111111111111111 · 10 111 .

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

А теперь пришла пора подвести итоги урока.

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

Двоичная система счисления

Почти все электронные вычислительные устройства, в том числе компьютеры используют вовсе не привычную для нас десятичную, а двоичную систему счисления, где основанием системы является 2. В ее основе лежит использование всего двух чисел 0 и 1. Это очень удобно для электронных устройств в силу технических причин, поскольку соответствует всего двум состояниям включено (1) и выключено (0) или высокий и низкий сигнал или «истина» и «ложь» и так далее. Наличие всего двух состояний упрощает техническую реализацию, повышает надежность работы, уменьшает габариты и обеспечивает высокую помехоустойчивость цифровых схем, в сравнение с аналоговыми.

В итоге любые числа представлены в виде комбинаций нулей и единиц. Например, число 4 в двоичной системе счисления записывается как 100, но читается каждый символ в отдельности, то есть «один ноль ноль». Это может запутать, поскольку запись числа 4 в двоичной системе счисления внешне не отличается от числа 100 из десятичной. В некоторых ситуациях из-за этого может возникнуть путаница. В таких случаях справа от числа подстрочным шрифтом принято указывать систему счисления, к которой относится данной число в десятичном формате. Числа из нашего примера можно записать следующим образом 410 и соответственно 1002. Так же встречается вариант указания перед двоичным числом префиксов 0b или &, то есть 0b100 или &100.

Чтобы перевести десятичное число в двоичное, можно воспользоваться калькулятором расположенным ниже или применить метод Горнера. Для этого нужно десятичное число последовательно делить на основание системы, в данном случае 2. Если результат получается с остатком, то остаток отбрасываем, пишем 1 и снова делим на 2. Если результат получается без остатка, то пишем 0 и снова делим на 2. Запись нулей и единиц осуществляется справа налево, а деление продолжается пока в частном не получится ноль. Рассмотрим это на примере и преобразуем число 1110 в двоичный вид.

В частном получился ноль, осталось записать получившиеся цифры справа налево от первой к последней и в итоге получаем, что 1110=10112

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

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

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

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

Непозиционные системы счисления

Как только люди начали считать, у них появилась потребность в записи чисел. Находки археологов на стоянках первобытных людей свидетельствуют о том, что первоначально количество предметов отображали равным количеством каких-либо значков (бирок): зарубок, черточек, точек. Позже, для облегчения счета, эти значки стали группировать по три или по пять. Такая система записи чисел называется единичной (унарной), так как любое число в ней образуется путём повторения одного знака, символизирующего единицу. Отголоски единичной системы счисления встречаются и сегодня. Так, чтобы узнать, на каком курсе учится курсант военного училища, нужно сосчитать, какое количество полосок нашито на его рукаве. Сами того не осознавая, единичной системой счисления пользуются малыши, показывая на пальцах свой возраст, а счетные палочки используется для обучения учеников 1–го класса счету. Рассмотрим различные системы счисления.

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

Древнеегипетская десятичная непозиционная система счисления. Примерно в третьем тысячелетии до нашей эры древние египтяне придумали свою числовую систему, в которой для обозначения ключевых чисел 1, 10, 100 и т.д. использовались специальные значки – иероглифы. Все остальные числа составлялись из этих ключевых при помощи операции сложения. Система счисления Древнего Египта является десятичной, но непозиционной. В непозиционных системах счисления количественный эквивалент каждой цифры не зависит от ее положения (места, позиции) в записи числа. Например, чтобы изобразить 3252 рисовали три цветка лотоса (три тысячи), два свернутых пальмовых листа (две сотни), пять дуг (пять десятков) и два шеста (две единицы). Величина числа не зависела от того, в каком порядке располагались составляющие его знаки: их можно было записывать сверху вниз, справа налево или вперемежку.

Римская система счисления. Примером непозиционной системы, которая сохранилась до наших дней, может служить система счисления, которая применялась более двух с половиной тысяч лет назад в Древнем Риме. В основе римской системы счисления лежали знаки I (один палец) для числа 1, V (раскрытая ладонь) для числа 5, X (две сложенные ладони) для 10, а для обозначения чисел 100, 500 и 1000 стали применять первые буквы соответствующих латинских слов (Сentum – сто, Demimille – половина тысячи, Мille – тысяча). Чтобы записать число, римляне разлагали его на сумму тысяч, полутысяч, сотен, полусотен, десятков, пятков, единиц. Например, десятичное число 28 представляется следующим образом:

XXVIII=10+10+5+1+1+1 (два десятка, пяток, три единицы).

Для записи промежуточных чисел римляне использовали не только сложение, но и вычитание. При этом применялось следующее правило: каждый меньший знак, поставленный справа от большего, прибавляется к его значению, а каждый меньший знак, поставленный слева от большего, вычитается из него. Например, IX – обозначает 9, XI – обозначает 11.

Десятичное число 99 имеет следующее представление:

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

Алфавитные системы счисления. Более совершенными непозиционными системами счисления были алфавитные системы. К числу таких систем счисления относились греческая, славянская, финикийская и другие. В них числа от 1 до 9, целые количества десятков (от 10 до 90) и целые количества сотен (от 100 до 900) обозначались буквами алфавита. В алфавитной системе счисления Древней Греции числа 1, 2, . 9 обозначались первыми девятью буквами греческого алфавита, и т.д. Для обозначения чисел 10, 20, . 90 применялись следующие 9 букв а для обозначения чисел 100, 200, . 900 – последние 9 букв.

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

В России славянская нумерация сохранилась до конца XVII века. При Петре I возобладала так называемая арабская нумерация, которой мы пользуемся и сейчас. Славянская нумерация сохранилась только в богослужебных книгах.

Непозиционные системы счисления имеют ряд существенных недостатков:

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

Позиционные системы счисления

В позиционных системах счисления – количественный эквивалент каждой цифры зависит от ее положения (позиции) в коде(записи) числа. Ныне мы привыкли пользоваться десятичной позиционной системой — числа записываются с помощью 10 цифр. Самая правая цифра обозначает единицы, левее — десятки, ещё левее — сотни и т.д.

Например: 1) шестидесятеричная (Древний Вавилон)– первая позиционная система счисления. До сих пор при измерении времени используется основание равное 60 (1мин = 60с, 1ч = 60мин); 2) двенадцатеричная система счисления (широкое распространение получила в XIX в. число 12 – “дюжина”: в сутках две дюжины часов). Счёт не по пальцам, а по суставам пальцев. На каждом пальце руки, кроме большого, по 3 сустава – всего 12; 3) в настоящее время наиболее распространёнными позиционными системами счисления являются десятичная, двоичная, восьмеричная и шестнадцатеричная (широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами).

В любой позиционной системе число может быть представлено в виде многочлена.

Покажем, как представляют в виде многочлена десятичное число:

Изображение:mnogochlen.jpg

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector