Бинарная запись. Двоичная система счисления. Преобразование десятичных чисел в двоичные

Для того чтобы в общих чертах понять, как думает компьютер, начнём с самого начала. Компьютер, по сути, – это много всякой электроники, собранной вместе в правильном порядке. А электроника (до того, как к ней добавили программу) понимает только одно: включена она или выключена, есть сигнал или нет сигнала.

Обычно «есть сигнал» обозначают единицей, а «нет сигнала» – нулём: отсюда и выражение, что «компьютер говорит на языке нулей и единиц».

Этот язык нулей и единиц называют ещё двоичной системой счисления – потому что в ней всего две цифры. Наша привычная система счисления – десятичная, в ней десять цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Но есть и множество других – восьмеричная, пятеричная, одиннадцатиричная и какая угодно ещё.

У нас с вами нет цифры «десять», правда? Число 10 состоит из двух цифр – 1 и 0.

Точно так же в пятеричной системе счисления не будет цифры «5», только 0, 1, 2, 3 и 4.

Посчитаем в пятеричной системе: 0, 1, 2, 3, 4, 10 , 11, 12, 13, 14, 20 , 21, 22, 23, 24, 30 , 31, 32, 33, 34, 40 , 41, 42, 43, 44, 100 (!!!), 101, 102 и так далее. Можно сказать, что как система счисления называется, такой цифры в ней и нет. В нашей десятичной нет цифры «10», в пятеричной нет цифры «5» (и всех, которые после неё), в восьмеричной – «8» и так далее.

А в шестнадцатиричной «16», например, есть! Поэтому нам шестнадцатиричную систему понять ещё сложнее. Давайте посчитаем в шестнадцатиричной:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10 , 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20 , 21, 22…97, 98, 99, 9A, 9B, 9C, 9D, 9E, 9F, A0 , A1, A2… F7, F8, F9, FA, FB, FC, FD, FE, FF, 100 , 101, 102, 103, 104, 105, 106, 107, 108, 109, 10A, 10B, 10C и так далее.

Двоичная система счисления, впрочем, тоже выглядит странновато для непривычного взгляда:

0, 1, 10 , 11, 100 , 101, 110, 111, 1000 , 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000 , 10001…

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

В компьютерных программах часто используют восьмеричную и шестнадцатиричную системы: компьютеру легко их понять (потому что 8=2*2*2, 16=2*2*2*2, а с двоичной системой компьютер знаком изначально), а для людей это удобно, потому что поближе к привычной десятичной.

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

И на конфетах мы с вами будем переводить число 33 в восьмеричную систему счисления. Мы решим, что единицы – это сами конфеты, а десятки – это коробки, в каждой из которых лежит по десять конфет. Вот и получится, что 33 – это 3 коробки по 10 конфет и ещё 3 конфеты где-то сбоку.

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

Из 33 получится 4 полных восьмеричных коробочки и 1 конфета останется сама по себе, так как 33/8=4 (ост. 1). То есть 33=8*4 +1 – так в восьмеричной системе счисления получается число 41 .

33 в десятичной – это 41 в восьмеричной. Это одно и то же число, просто разложенное по разным коробочкам, переведённое в разное основание. Количество конфет не поменялось, мы просто считали их по-разному!

Двоичная система, как мы уже выяснили, более странная и непривычная для человеческого взгляда. Давайте попробуем перевести 33 в двоичную – получится аж 16 коробочек по 2! И что же делать? Писать 16 как-то странно, помня о том, что в двоичной системе есть только ноль и единица, а шестёрки, которая нам нужна для шестнадцати, совершенно точно нет!

Посмотрим на нашу десятичную систему. В ней мы считаем десятки – 10, 20, 30, 40, 50, 60, 70, 80, 90 – а когда у нас набирается десять десятков, мы достаём большую коробку – 100.

У нас 100 – это 10*10, 1000 – 10*10*10, 10 000 – 10*10*10*10 и так далее. Для других систем счисления это работает точно так же! В восьмеричной системе 100=8*8, 1000=8*8*8; в двоичной 100=2*2, а 1000=2*2*2; а в шестнадцатиричной (есть и такая, помните?) 100=16*16, 1000=16*16*16.

Здесь нам пригодятся степени. Если вы их ещё не проходили в школе, не пугайтесь, степени – это очень просто. Число в степени – это число, сколько-то раз умноженное на само себя. То есть 5 3 =5*5*5 (пять в третьей степени – это пять , три раза умноженная сама на себя: 5*5*5), или 8 5 =8*8*8*8*8 (восемь в пятой степени – это восемь , пять раз умноженная на саму себя: 8*8*8*8*8).

Если мы вспомним про наши 10 000=10*10*10*10 в десятичной и 1000=8*8*8 в восьмеричной, то можно легко заметить, что сколько нулей, столько раз и умножаем на само себя. Другими словами, количество символов в числе минус один – это степень, в которую надо возвести основание. В числе 1000 у нас четыре символа, значит умножать надо 4–1 , то есть 3 раза. Если основание 10, то тысяча – это 10, три раза умноженная сама на себя: 10*10*10. Если основание 8, то тысяча – это 8, три раза умноженная сама на себя: 8*8*8.

Обо всём этом мы заговорили, пытаясь перевести 33 в двоичную систему. Просто так поделить это число на коробочки по 2 оказалось затруднительным. Но если вспомнить про наши сотни-тысячи, можно задуматься: а ведь в двоичной 100=2*2, 1000=2*2*2, 10 000=2*2*2*2 и так далее.

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

Теперь, глядя на табличку, мы видим, что 33=2 5 +1, то есть 33=2*2*2*2*2+1. Вспоминаем – сколько раз умножаем, столько будет нулей – то есть наше 2*2*2*2*2 в двоичной системе будет 100000. Не забудем оставшуюся в стороне единичку, и получится, что 33 в десятичной – это 100001 в двоичной. Правильно и красиво это записывают так:

33 10 =100001 2

Давайте (чтобы совсем хорошо понять) переведём в двоичную систему число 15.

  1. В первую очередь – смотрим в табличку.

а) Какое самое близкое к 15 число в ней? Нет, 16 не подходит, оно больше, а нам нужно самое близкое, которое меньше. Получается, что это 8, то есть 2 3 , то есть 2*2*2.

б) Восемь конфет из 15 разобрали, осталось – 15-8 – семь. Какое ближайшее число из таблички? Нет, восемь снова не подойдет, см. выше. Подойдет четыре, то есть 2 2 , то есть 2*2.

в) Четыре из семи конфет разобрали, осталось – 7-4 – три. Из таблички понимаем, что самое близкое число – 2, то есть 2 1 , то есть просто 2.

г) Три минус два – осталась 1 конфета, тут уже табличка не понадобится. В таблички такого рода можно не смотреть, когда ваш остаток меньше основания, а наша единица точно меньше двойки.

  1. Собираем всё найденное в табличке вместе: 15=2 3 + 2 2 + 2 1 + 1, оно же: 15=2*2*2 + 2*2 + 2 + 1.
  2. В двоичной системе 2*2*2=1000, 2*2=100, 2=10, помните? И у нас получается 1000+100+10+1, то есть 1111.
  3. Итак,

15 10 =1111 2

Когда просто смотришь на все эти шаги, кажется, что это просто свалка из Кучи Разных Странно Написанных Цифр . И запутаться во всём этом в первый раз – нормально. И во второй, и в третий. Просто попробуйте сделать это ещё и ещё раз – по шагам, как написано выше, и всё получится.

И наоборот это тоже работает! Например, число 11010101 2 – как из него сделать понятное десятичное? Точно так же, при помощи таблички. Пойдем с конца:

1*2 0 +0*2 1 +1*2 2 +0*2 3 +1*2 4 +0*2 5 +1*2 6 +1*2 7 =

1*1+0*2+1*4+0*8+1*16+0*32+1*64+1*128=

1+0+4+0+16+0+64+128=213

11010101 2 = 213 10

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

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

Итак, возьмем пример 15+6 и решим его в разных системах счисления. Понятно, что в нашей, десятичной, получится 21. А что выйдет, например, в восьмеричной?

Переводим 15 в восьмеричную систему счисления. Первый шаг у нас при переводе в другую систему – посмотреть в табличку степеней. 8 2 – это уже 64, и в 15 оно точно уже никак не влезет, поэтому берем 8 1 – то есть просто 8. 15–8=7, оно меньше нашего основания 8, поэтому с ним мы ничего не делаем.

Итак, получилось, что 15=8 1 +7 .

В восьмеричной системе логика точно такая же, как, например, в двоичной: 8 3 – это 1000, 8 2 – это 100, 8 1 – это 10. Получилось, что:

15 10 =17 8

Напомню, наш пример был 15+6. 15 мы перевели в восьмеричную систему, как же перевести 6? Она меньше 8, нашего основания, поэтому ответ – оставить как есть. Наш пример сейчас выглядит так:

15 10 +6 10 =17 8 +6 8

Теперь мы будем складывать в восьмеричной системе счисления. Как это делается? Так же, как и в десятичной, но надо помнить, что десяток в восьмеричной системе – это восемь, а не десять, и что 8 и 9 в ней не существует.

Когда мы считаем в десятичной системе, по сути, мы делаем так:

15+6=15+5+1=20+1=21

Попробуем проделать тот же фокус в восьмеричной системе:

17 8 +6 8 =17 8 +1 8 +5 8 =20 8 +5 8 =25 8

Почему 17+1? Потому что 7+1=8, а 8 – это наш десяток! В восьмеричной системе 7+1=10, а значит, 17+1=20. Если на этом месте ваш мозг начинает бить тревогу и рассказывать, что здесь что-то не так, вернитесь в начало статьи, где мы с вами считали в разных системах счисления.

Теперь наш пример выглядит как

15 10 +6 10 =17 8 +6 8 =25 8

Переведем 25 8 обратно в нашу систему счисления. В десятичной мы бы, увидев число 25, могли сказать, что в нём две десятки и пять единиц. В восьмеричной, как вы, наверное, уже догадались, число 25 8 – это две восьмерки и пять единиц. То есть 25 8 =2*8+5=21 10 .

Итак, наш пример целиком:

15 10 +6 10 =17 8 +6 8 =25 8 =21 10

Получилось точно такое же 21, какое вышло у нас в самом начале, когда мы посчитали 15+6 привычным нам способом в десятичной системе.

Арифметические правила не меняются от того, что мы выбрали другую систему счисления.

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

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

Обычно все системы счисления разбивают на два класса: непозиционные и позиционные.

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

Сама же запись числа 757,7 означает сокращенную запись выражения:

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

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

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

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

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

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

По просьбе ученого в честь «диадической системы» - так тогда называли двоичную систему - была выбита медаль. На ней изображалась таблица с числами и простейшие действия с ними. По краю медали вилась лента с надписью: «Чтобы вывести из ничтожества все, достаточно единицы».

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

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

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

История возникновения двоичной системы счисления

Ученые древнего мира предложили производить вычисления, используя лишь 2 цифры, и предположили, что за таким методом расчета будущее. Это объясняется простотой такого метода исчисления: всего 2 положения (0 и 1), 2 позиции, например, есть сигнал или нет сигнала. Немецкий математик Лейбниц полагал, что математические операции, осуществляемые над 2 цифрами, несут в себе определенный порядок.

До 40-х годов 20 века теория двоичной системы не развивалась, пока американский ученый Клод Шеннон не предложил применять ее в работе электронных схем. Оказалось, что их использование в ПЭВМ гораздо предпочтительнее, ведь человеку непросто запоминать громоздкое скопление нулей и единиц. А в компьютере достаточно создать устройство, имеющее логические 0 и 1, то есть обладающее не более 2 логическими состояниями. Это может быть намагниченный или размагниченный сердечник, закрытый или открытый трансформатор и т.д. Всего 2 положения, а не 10, как могло бы быть при использовании десятичной системы при компьютерных вычислениях.

Характеристики двоичной системы счисления

К особенностям двоичной системы счисления следует отнести:

  • Использование всего пары цифр (0 и 1). Основание такой системы равно 2.
  • Алгебраические операции, проводимые с числами из двух цифр, не представляют большой сложности.
  • Хранение и преобразование сигналов видеоаппаратурой и приборами записи осуществляется в коде, состоящем из 0 и 1.
  • Цифровые каналы связи обмениваются данными, используя их представление в виде 0 и 1.

Счет в двоичной системе

И затем для каждой цифры по порядку идет повышение разряда:

100 - четыре.

110 - шесть.

После 7 цифры записываются в виде 4 разрядов:

1000 - восемь.

1001 - девять.

1010 - десять.

1011 - одиннадцать.

1100 - двенадцать.

1101 - тринадцать.

1110 - четырнадцать.

Перевод чисел из двоичной системы в десятичную

Представление десятичных чисел в двоичной системе делает их довольно громоздкими. Рассмотрим как происходит обратный процесс: перевод числа, состоящего из 0 и 1, в удобный для нас вид. Например, нужно перевести двоичный код 10101110 в десятичный вид.

Его можно разбить по степеням, как это выполняется в десятичной системе. Так, число 1587 можно отобразить как:

1000 + 500 + 80 + 7.

Или еще одним способом:

1*10 3 + 5*10 2 + 8*10 1 + 7*10 0 .

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

10101110 = 1*2 7 + 0*2 6 + 1*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 1*2 1 + 0*2 0 = 128 + 0 + 32 + 0 + 8 + 4 + 2 + 0 = 174.

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

Таким образом, двоичная форма числа 10101110 - это 174 в десятичном представлении. Корректная запись выглядит так:

10101110 2 = 174 10 .

Бывает необходимость в обратном процессе: перевести десятичный вид записи в последовательность из 0 и 1. Это выполняется путем деления на 2 и образованием двоичного числа из остатка. Например, число 69.

Делимое Делитель Частное Остаток
69 2 34 1
34 2 17 0
17 2 8 1
8 2 4 0
4 2 2 0
2 2 1 0
1 2 0 1

Смотрим на остаток. Получаем число в двоичной форме, начиная с последней строчки: 1000101 (эти цифры расположены в столбце «Остаток», если смотреть снизу вверх). Нужно проверить полученный результат:

1000101 = 1*2 6 + 0*2 5 + 0*2 4 + 0*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 64 + 4 +1 = 69.

Математические операции с двоичными числами

Сложение.

Это основная арифметическая операция при расчетах на компьютерах. Основные принципы сложения двоичных чисел опираются на правила:

Таким образом, складывая в столбик 1101 2 и 110 2 , получаем 10011 2 или 19 10 .

Вычитание .

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

Правила, используемые при вычитании:

0 - 1 = 1 (занимаем из старшего разряда).

Например, вычитаем из 1110 2 число 101 2 , получаем 1001 2 или 9 10 .

Умножение .

На бумаге умножение представляет собой совокупность операций сложения. Например, необходимо произвести умножение 10 10 на 40 10 .

Преобразуем их в совокупность 0 и 1:

10 10 =00001010 2

40 10 = 00101000 2

Оба числа в двоичной форме имеют слева и справа несколько нулей, которые не играют роли в операции умножения. Значимые части - это 101 в числе 10 и 101 в числе 40, расположенные между нулями. Их нужно перемножить, а нули просто дописать в итоговом результате:

Перемножаем левую и правую единицу второго множителя на первый множитель, затем суммируем полученный промежуточный результат. Нули складываем и переписываем в итоговый результат умножения, который в двоичной форме выглядит так: 000000110010000 2 (нижняя строчка слева направо).

Проверяя, получаем:

1 * 2 8 + 1 * 2 7 + 1 * 2 4 = 256 + 128 + 16 = 400.

Деление .

Рассмотрим наиболее простой пример деления без остатка. Надо разделить 14 10 на 2 10 . В двоичном виде это выглядит так:

14 10 = 1110 2 .

Делим 1110 2 на 10 2 в столбик:

1110 |10

Получаем число 111 2 , что равняется 7 в десятичной системе счисления. При проверке умножением доказываем точность результата:

Смотрим на нижнюю строчку слева направо, результат умножения - 1110 2 . Ответ верный.

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

Система носит такое название, потому что основанием системы является число два (2 ) или в двоичной системе 10 2 - это значит что для изображения чисел используется только две цифры "0" и "1". Двоечка записанная справа внизу от числа, здесь и далее будет обозначать основание системы счисления. Для десятичной системы основание обычно не указывают.

Ноль - 0 ;
Один - 1 ;

А что делать дальше? Все цифры кончились. Как же изобразить число два? В десятичной системе, в подобной ситуации (когда закончились цифры), мы вводили понятие десятка, здесь же мы вынуждены ввести понятие "двойка" и скажем, что два - это одна двойка и ноль единиц. А это уже можно и записать как - "10 2 ".

Итак, Два - 10 2 (одна двойка, ноль единиц)
Три - 11 2 (одна двойка, одна единица)

Четыре - 100 2 (одна четверка, ноль двоек, ноль единиц)
Пять - 101 2 (одна четверка, ноль двоек, одна единица)
Шесть - 110 2 (одна четверка, одна двойка, ноль единиц)
Семь - 111 2 (одна четверка, одна двойка, одна единица)

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

Восемь - 1000 2 (одна восьмерка, ноль четверок, ноль двоек, ноль единиц)
Девять - 1001 2 (одна восьмерка, ноль четверок, ноль двоек, одна единица)
Десять - 1010 2 (одна восьмерка, ноль четверок, одна двойка, ноль единиц)
...
и так далее...
...

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

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

1011 2 = 1 *8+0 *4+1 *2+1 *1, здесь и далее знак * (звездочка) означает умножение.

Но ряд чисел 8, 4, 2, 1 есть не что иное, как целые степени числа два (основания системы счисления) и поэтому можно записать:

1011 2 = 1 *2 3 +0 *2 2 +2 *2 1 +2 *2 0

Подобным образом для двоичной дроби (дробного числа) например: 0.101 2 (пять восьмых), про него можно сказать, что оно содержит: одну вторую, ноль четвертых и одну восьмую долю. И его значение можно вычислить следующим образом:

0.101 2 = 1 *(1/2) + 0 *(1/4) + 1 *(1/8)

И здесь ряд чисел 1/2; 1/4 и 1/8 есть не что иное, как целые степени числа два и мы также можем записать:

0.101 2 = 1 *2 -1 + 0 *2 -2 + 1 *2 -3

Для смешанного числа 110.101 аналогичным образом можем записать:

110.101 = 1 *2 2 +1 *2 1 +0 *2 0 +1 *2 -1 +0 *2 -2 +1 *2 -3

Давайте пронумеруем разряды целой части двоичного числа, справа налево, как 0,1,2…n (нумерация начинается с нуля!). А разряды дробной части, слева направо, как -1,-2,-3…-m. Тогда значение некоторого двоичного числа может быть вычислено по формуле:

N = d n 2 n +d n-1 2 n-1 +…+d 1 2 1 +d 0 2 0 +d -1 2 -1 +d -2 2 -2 +…+d -(m-1) 2 -(m-1) +d -m 2 -m

Где: n - количество разрядов в целой части числа минус единица;
m - количество разрядов в дробной части числа
d i - цифра стоящая в i -м разряде

Эта формула называется формулой разложения двоичного числа, т.е. числа записанного в двоичной системе счисления. Но если в этой формуле число два заменить на некоторое абстрактное q , то мы получим формулу разложения для числа записанного в q-й системе счисления:

N = d n q n +d n-1 q n-1 +…+d 1 q 1 +d 0 q 0 +d -1 q -1 +d -2 q -2 +…+d -(m-1) q -(m-1) +d -m q -m

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

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

Что это значит?

Начнем с определения основного понятия. Как отмечает учебник "Информатика", система счисления - записи чисел, в которой используется специальный алфавит или определенный набор цифр.

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

В позиционных системах значение цифры меняется вместе с ее положением в числе. Так, если взять число 234, то цифра 4 в ней означает единицы, если же рассмотреть число 243, то тут она будет уже означать десятки, а не единицы.

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

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

К непозиционным системам счисления относятся:

  1. Единичная система, которая считается одной из первых. В ней вместо цифр использовались палочки. Чем их было больше, тем больше было значение числа. Встретить пример чисел, записанных таким образом, можно в фильмах, где речь идет о потерянных в море людях, заключенных, которые отмечают каждый день с помощью зарубок на камне или дереве.
  2. Римская, в которой вместо цифр использовались латинские буквы. Используя их, можно записать любое число. При этом его значение определялось с помощью суммы и разницы цифр, из которых состояло число. Если слева от цифры находилось меньшее число, то левая цифра вычиталась из правой, а если справа цифра была меньше или равна цифре слева, то их значения суммировались. Например, число 11 записывалось как XI, а 9 - IX.
  3. Буквенные, в которых числа обозначались с помощью алфавита того или иного языка. Одной из них считается славянская система, в которой ряд букв имел не только фонетическое, но и числовое значение.
  4. в которой использовалось всего два обозначения для записи - клинья и стрелочки.
  5. В Египте тоже использовались специальные символы для обозначения чисел. При записи числа каждый символ мог использоваться не более девяти раз.

Позиционные системы

Большое внимание уделяется в информатике позиционным системам счисления. К ним относятся следующие:

  • двоичная;
  • восьмеричная;
  • десятичная;
  • шестнадцатеричная;
  • шестидесятеричная, используемая при счете времени (к примеру, в минуте - 60 секунд, в часе - 60 минут).

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

Десятичная система

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

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

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

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

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

Восьмеричная система

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

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

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

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

Шестнадцатеричная система

В последнее время все большую популярность приобретает в программировании и информатике система счисления шестнадцатеричная. В ней используются не только цифры от 0 до 9, но и ряд латинских букв - A, B, C, D, E, F.

При этом, каждая из букв имеет свое значение, так A=10, B=11, C=12 и так далее. Каждое число представляется в виде набора из четырех знаков: 001F.

Перевод чисел: из десятичной в двоичную

Перевод в системах счисления чисел происходит по определенным правилам. Наиболее часто встречается перевод из двоичной в десятичную систему и наоборот.

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

Например, переведем число 9 в двоичную систему:

Делим 9, так как число не делится нацело, то берем число 8, остаток будет 9 - 1 = 1.

После деления 8 на 2 получаем 4. Снова делим его, так как число делится нацело - получаем в остатке 4 - 4 = 0.

Проводим ту же операцию с 2. В остатке получаем 0.

В итоге деления у нас получается 1.

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

Перевод чисел: из двоичной в десятичную

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

Алгоритм перевода следующий: каждую цифру из кода двоичного числа необходимо умножить на двойку, причем, первая двойка будет в степени m-1, вторая - m-2 и так далее, где m - количество цифр в коде. Затем сложить результаты сложения, получив целое число.

Для школьников этот алгоритм можно объяснить проще:

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

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

Выглядеть это будет следующим образом:

1*2 3 + 0*2 2 +0*2 1 +1*2 0 = 8+0+0+1 =9.

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

Другие варианты перевода

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

Арифметические операции

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

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

Заучивать их необязательно - достаточно просто распечатать и иметь под рукой. Также можно воспользоваться калькулятором на ПК.

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