Таблица цифр в двоичной системе счисления. Криптография: Как считает компьютер

06.06.2021

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

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

Этот язык нулей и единиц называют ещё двоичной системой счисления – потому что в ней всего две цифры. Наша привычная система счисления – десятичная, в ней десять цифр (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 привычным нам способом в десятичной системе.

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

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

Двоичные числа

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

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

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

Ссылки

  • Онлайн калькулятор для перевода чисел из одной системы счисления в другую

Wikimedia Foundation . 2010 .

Части статьи мы с вами разбирали двоичную систему счисления. Ну что же, думаю продолжим;-). Что же такое все таки бит? Что же он из себя представляет? Как Вы поняли, бит – это один знак в двоичной системе счисления. С помощью одного бита мы можем зашифровать две информации: ДА или НЕТ . Помните нашего человечка из первой статьи с варежками из мамонта? Его одна рука – это один бит. С помощью этой руки он может показать две информации: ДА или НЕТ. Рука поднята вверх – ДА, рука опущена – НЕТ. Еще раз повторюсь, в электронике за слово “ДА” принимают единичку, за слово “НЕТ” – нолик, то есть ДА=1, НЕТ=0, сигнал есть – 1, сигнала нет – 0.

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

1)Подняты сразу две руки

2) Поднята правая рука, левая опущена

3) Поднята левая рука, правая опущена

4) Опущены обе руки

Кто придумает еще комбинацию, сразу же сделаю админом “Практической электроники” пожизненно:-). Больше комбинаций НЕТ! Это значит, что с помощью двух рук (двух битов) мы можем закодить 4 информации. Помните еще пример с первой статьи?

бар – это 1, дом – 0, пиво – 1, водка – 0.

1) Сидим в баре, пьем пиво (11)

2) Сидим в баре, пьем водку (10)

3) Сидим дома, пьем пиво (01)

4) Сидим дома, пьем водку (00)

В этом примере с помощью двух битов мы закодировали 4 информации. 11 или 10 и тд. – это двух битная запись информации.

А сколько информации можно закодировать, используя три бита? Можно получить 8 информаций. Опять же пример из первой части:

1) Сидим в баре, пьем пиво без Вована (110)

2) Сидим в баре, пьем водку без Вована (100)

3) Сидим дома, пьем пиво без Вована (010)

4) Сидим дома, пьем водку без Вована (000)

5) Сидим в баре, пьем пиво с Вованом (111)

6) Сидим в баре, пьем водку с Вованом (101)

7) Сидим дома, пьем пиво с Вованом (011)

8) Сидим дома, пьем водку с Вованом (001)

111, 011, 010 и тд – это трех битная запись информации.

А если использовать 4 бита информации? Получаем из примера прошлой же статьи:

1) Сидим в баре, пьем пиво без Вована, смотрим хоккей (1101)

2) Сидим в баре, пьем водку без Вована, смотрим хоккей (1001)

3) Сидим дома, пьем пиво без Вована, смотрим хоккей (0101)

4) Сидим дома, пьем водку без Вована, смотрим хоккей (0001)

5) Сидим в баре, пьем пиво с Вованом, смотрим хоккей (1111)

6) Сидим в баре, пьем водку с Вованом, смотрим хоккей (1011)

7) Сидим дома, пьем пиво с Вованом, смотрим хоккей (0111)

8) Сидим дома, пьем водку с Вованом, смотрим хоккей (0011)

9) Сидим в баре, пьем пиво без Вована, смотрим футбол (1100)

10) Сидим в баре, пьем водку без Вована, смотрим футбол (1000)

11) Сидим дома, пьем пиво без Вована, смотрим футбол (0100)

12) Сидим дома, пьем водку без Вована, смотрим футбол (0000)

13) Сидим в баре, пьем пиво с Вованом, смотрим футбол (1110)

14) Сидим в баре, пьем водку с Вованом, смотрим футбол (1010)

15) Сидим дома, пьем пиво с Вованом, смотрим футбол (0110)

16) Сидим дома, пьем водку с Вованом, смотрим футбол (0010)

Формула возможных вариантов

В этом примере с помощью четырех бит мы смогли закодировать 16 информаций. А что будет если использовать пять бит? Сколько информации мы можем закодировать? Неужели нам придется опять перебирать варианты? Ну уж нет! Для этого есть простая формула.

Возможные варианты информаций= 2 N , где N – количество битов

Предположим, мы используем два бита, следовательно, мы можем закодировать 2 2 =2х2=4 информаций, то есть 4 возможных варианта, если же используем три бита, то 2 3 =2х2х2=8, значит 8 информаций мы можем закодировать с помощью трех битов и тд. Нетрудно посчитать, что с помощью пяти битов можно закодировать 2 5 =2х2х2х2х2=32. Все просто, не правда ли? А сколько информаций мы можем закодировать, если использовать 8 бит? Итак, 2 8 =2х2х2х2х2х2х2х2=256 информаций! Неплохо! Короче говоря, если наш воин, который носит варежки из мамонта, имел бы восемь рук, он смог бы показать с помощью них 256 всех комбинаций, и если бы они договорились, что какая-то комбинация – это столько то убитых человечков. :-). Жесть))) Кстати, как Вы прочитали из прошлой статьи, 8 бит = 1 Байт. Например, информация с кодом 1011 0111 (пробел между группами из 4 битов ставится для удобства) – это восемь бит или просто Байт .

Перевод из одной системы в другую с помощью калькулятора

Давайте вернемся к нашей десятичной системе счисления. Если Вы помните, к десятичной системе мы относим циферки от 0 и до 9. А Вы знаете, что с помощью нехитрых вычислений, мы можем переводить информацию из одной системы счисления в другую? В вашей Винде есть одна нехитрая программка, на которую вы почти не обращаете внимание – это калькулятор;-), с помощью которого можно легко переводить числа из десятичной в двоичную систему и наоборот.

Нажимаем в меню панели “Вид” —->”Программист” и у нас получается вот такой прикольный калькулятор.


Теперь самое простое, нажимаем маркер на “Dec” и для аккуратного вида на “1 байт”. Пишем число в калькуляторе и смотрим на его двоичный код.

В данном примере я посмотрел, как запишется число “8” в двоичной системе счисления. Вуаля! А вот снизу под восьмеркой сразу и результат: 1000. Именно так запишется число “8” из десятичной системы счисления в двоичную.


Также калькулятор может переводить даже отрицательные числа из десятичной в двоичную систему. А вот число “-5” из десятичной системы в двоичной запишется, как 1111 1011 .


Кто-то из Вас может похвастаться: “Да я сам могу переводить числа из десятичной в двоичную на листочке бумаги”. Но, Вам это надо, когда есть такой замечательный калькулятор? ;-)

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

Трудно все это, не правда ли? Чтобы облегчить жизнь, была придумана двоично-десятичная система счисления . Эта система, думаю, проще некуда! Например, число “123” из десятичной системы нам надо представить в двоично-десятичную. Каждую цифру пишем в двоичном четырехбитном коде. Используем калькулятор. Число 1 в десятичной системе – это 0001, число 2 – 0010, а 3 – 0011. Итак, число “123”, записанное в двоично-десятичной системе счисления запишется, как 0001 0010 0011. Ну реально, проще некуда!

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

Для того, чтобы понять суть двоичной системы счисления целесообразнее всего обратиться к привычной нам десятичной системе счисления. Используемая нами ежедневно десятичная система счисления состоит из десяти символов: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Далее заканчиваются единицы, и начинаются десятки. При этом числа повторяются, а счет начинается заново. Двоичная система счисления построена по абсолютно аналогичному принципу, с той лишь разницей, что тут не 10 символов, а всего 2: ноль и единица.

Чтобы лучше понять рассмотрим на примере:

Итак в двоичной системе 0 равен 0 в десятичной.
1=1, и на этом количество символов заканчивается, и все начинается сначала.
2=10;
3=11;
4=100;
5=101;
6=110;
7=111 и так далее.
Легко заметить, что в двоичной системе счисления, в силу скудного количества символов, числа очень быстро становятся многозначными. По этой причине не всегда получается быстро их распознавать. Так например не очень просто сходу сказать чему в десятичной системе счисления равно двоичное число 11001010. Но для того, чтобы определить, тем не менее, что это за число, существуют вполне простые способы перевода чисел из двоичной системы в десятичную.

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

Например:
1279= 1000+200+70+9;
Можно пойти дальше и записать это число в таком виде:
1279 = 1*10 в степени 3 + 2 * 10 в степени 2 + 7 * 10 в первой + 9 * 10 в нулевой.

Тоже самое можно проделать и с нашим двоичным числом.Единственная разница будет состоять в том, что здесь основание будет не 10 а 2.
Итак 11001010 = 1*2 в седьмой+1*2 в шестой+0*2 в пятой+0*2 в 4 + 1*2 в 3+0*2 во 2 + 1*2 в первой+0 * 2 в нулевой.
Если посчитать сумму всех составляющих, то как раз и получится десятичное число.
11001010 = 128+64+0+0+8+0+2+0=202.
То есть, окончательный ответ звучит так: число 11001010 по основанию 2 равняется числу 202 по основанию 10.

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

77 / 2 = 38 (один остаток)
38 / 2 = 19 (ноль остаток)
19 / 2 = 9 (один остаток)
9 / 2 = 4 (один остаток)
4 / 2 = 2 (ноль остаток)
2 / 2 = 1 (ноль остаток)
1 / 2 = 0 (один остаток)

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

Введение………………………………………………………………………………

I. Понятие двоичной системы счисления…………………………………………………………………..

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

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

1.3. Перевод десятичного числа в двоичное

II. Почему удобна двоичная система? ………………………………………………

2.1. Достоинства двоичной системы

2.2. Недостатки двоичной системы

Заключение …………………………………………………………………………..

Библиографический список………………………………………………………....


Введение:

Кто стоит у истоков двоичной системы счисления, как давно и где ее начали применять, почему двоичная система счисления сохранилась до наших дней.

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

Язык чисел, как и любой другой, имеет свой алфавит. В том языке чисел, которым мы обычно пользуемся, алфавитом служат десять цифр – от 0 до 9. Это десятичная система счисления.

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

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


Понятие двоичной системы счисления.

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

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

Мысль о двоичной системе принадлежит Лейбницу, который полагал, что при трудных исследованиях в теории чисел она может иметь большие преимущества перед десятичной системой. Кроме того, при всяких арифметических операциях действия над числами, написанными в бинарной системе, облегчаются в высшей степени. Иезуит Буве (Bouvet), миссионер в Китае, которому Лейбниц писал о своём изобретении, сообщил ему, что в Китае существует загадочная надпись, которую можно вполне объяснить бинарной системой. Надпись эта, которую приписывают императору Фо-ги, жившему в 25 веке до н. э., основателю Китайской империи, покровителю наук и искусств, не могла быть объяснена китайскими учёными, которые считали её не имеющей смысла. Она состоит из ряда длинных и коротких чёрточек. Если принять, что длинная черта означает 1, а короткая 0, то вся надпись оказывается просто рядом натуральных чисел, написанных по двоичной системе. Вот эта надпись:



Двоичная система счисления оказалась удобной для использования в ЭВМ. Использование двоичной системы оказалось наиболее эффективным в электронных схемах: цифры 0 и 1 удобно кодировать уровнями напряжения, соответствующим напряжению на шинах питания, „0“ и „+V“ ; использование большего количества уровней привело бы к усложнению схем. Хотя были прецеденты создания и троичных ЭВМ.

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



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

В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.

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

0 – это ноль

1 – это один (и это предел разряда)

10 – это два

11 – это три (и это снова предел)

100 – это четыре

101 – пять

110 – шесть

111 – семь и т.д.

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

1. 10001001 = 1*2^{7} + 0*2^{6} + 0*2^{5} + 0*2^{4} + 0*2^{3} + 0*2^{2} + 0* 2^{1} + 0*2^{0} = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137

Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:

10001001_{2} = 137_{10}

2. 1011_{2} = 1*2^3 + 0*2*2+1*2^1+1*2^0 =1*8 + 1*2+1=11_{10}

3. 10101010_{2} = 1*2^{7} + 0*2^{6} + 1*2^{5} + 0*2^{4} + 1*2^{3} + 0*2^{2} + 1*2^{1} + 0*2^{0} = 128 + 32 +8 + 2 = 170_{10}

4. 101101_{2} = 1*2^{5} + 0*2^{4} + 1*2^{3} + 1*2^{2} + 0*2^{1} + 1*2^{0} = 63_{10}

5. 100,101_{2} = 1*2^{2} +0*2^{1} + 0*2^{0} + 1*2^{-1} + 0*2^{-2} + 1*2^{-3} = 4 + 2 = 6Элементы оглавления не найдены. _{10}

6. 111101_{2} = 1*2^{5} + 1*2^{4} + 1*2^{3} + 1*2^{2} + 0*2^{1} + 1*2^{0} = 32 +16 + 13 = 61_{10}

7. 1001_{2} = 1*2^{3} + 0*2^{2} + 0*2^{1} + 1*2^{0} = 9

8. 10011,1_{2} = 1*2^{4} + 0*2^{3} + 0*2^{2} + 1*2^{1} + 1*2^{0} + 1*2^{-1} = 19,5

9. 11101,11_{2} = 1*2^{5} + 1*2^{4} + 1*2^{3} + 0*2^{1} +1*2^{0} + 1*2^{-1} = 57,5

10. 100111 = 1*2^{5} + 0*2^{4} + 0*2^{3} +1*2^{2} + 1*2^{1} + 1*2^{0} = 39

1.4. Перевод десятичного числа в двоичное:

Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:

77 / 2 = 38 (1 остаток)

38 / 2 = 19 (0 остаток)

19 / 2 = 9 (1 остаток)

9 / 2 = 4 (1 остаток)

4 / 2 = 2 (0 остаток)

2 / 2 = 1 (0 остаток)

1 / 2 = 0 (1 остаток)

Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:

1. 1001101_{10} = 1*2^{6} + 0*2^{5} + 0*2^{4} + 1*2^{3} + 1*2^{2} + 0*2^{1} + 1*2^{0} = 64 + 8 + 5 = 77_{2}

2. 49_{10} = \dfrac{ 49 } { 2 } = 110001_{2}

3. 15_{10} = \dfrac{ 49 } { 2 } = 1111_{2}

4. 31_{10} = \dfrac{ 31 } { 2 } = 11111_{2}

5. 0,45_{10} = \dfrac{ 0,45 } { 2 } = 0,11100_{2}

6. 95_{10} = \dfrac{ 95 } {2 } = 1011111_{2}

7. 102_{10} = \dfrac{102 } { 2 } = 1100110_{2}

8. 58_{10} = \dfrac{ 58 } { 2 } = 110100_{2}

9. 4956_{10} = \dfrac{ 4956 } { 2 } = 101101011100_{2}

10. 125_{10} = \dfrac{ 125 } { 2 } = 10111101_{2}

2. Почему удобна двоичная система?

Стоит отметить, что двоичная система издавна была предметом пристального внимания ученых. Официальное рождение двоичной системы счисления связано с именем Г.В.Лейбница, опубликовавшего в 1703 г. статью, в которой он рассмотрел правила выполнения арифметических действий над двоичными числами. Во время работы ЭВМ постоянно происходит преобразование чисел из десятичной системы счисления в двоичную, и наоборот. Да и человеку, имеющему дело с ЭВМ, часто приходится прибегать к преобразованиям чисел.

Вот, что писал Лаплас об отношении великого немецкого математика Г.В. Лейбница к двоичной (бинарной) системе: «В своей бинарной арифметике Лейбниц видел прообраз творения. Ему представлялось, что единица представляет божественное начало, а нуль – небытиё и что высшее существо создает все сущее из небытия точно таким же образом, как единица и нуль в его системе выражают все числа».

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

Если отвлечься от технических деталей, то именно с помощью этих операций и выполняются все операции в компьютере, так как удалось создать надежно работающие технические устройства, которые могут со 100 процентной надежностью сохранять и распознавать не более двух различных состояний (цифр):

Электромагнитные реле (замкнуто/разомкнуто), широко использовались в конструкциях первых ЭВМ;

Участок поверхности магнитного носителя информации (намагничен/ размагничен);

Участок поверхности лазерного диска (отражает/не отражает);

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

Утверждение двоичной арифметики в качестве общепринятой при конструкции ЭВМ с программным управлением состоялось под влиянием работы Дж. фон Неймана о проекте первой ЭВМ с хранимой в памяти программой. Работа написана в 1946 году.

2.1. Достоинства двоичной системы счисления:

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

2. Для ее реализации нужны элементы с двумя возможными состояниями, а не с десятью.

3. Представление информации посредством только двух состояний надежно и помехоустойчиво.

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

5. Двоичная арифметика проще десятичной.

2.2. Недостатки двоичной системы счисления:

1. Итак, код числа, записанного в двоичной системе счисления представляет собой последовательность из 0 и 1. Большие числа занимают достаточно большое число разрядов.

2. Быстрый рост числа разрядов - самый существенный недостаток двоичной системы счисления.

3.1. Заключение:

В ходе изучения данной темы мы выяснили, что двоичная система счисления намного старше электронных машин. Двоичной системой счисления люди интересуются давно. Особенно сильным это увлечение было с конца 16 до 19 века. Знаменитый Лейбниц считал двоичную систему счисления простой, удобной, красивой. Даже по его просьбе была выбита медаль в честь этой «диадической» системы (так называли тогда двоичную систему счисления).

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

Наличие в системе всего лишь двух символов упрощает их преобразование в электрические сигналы.

Из любой системы счисления можно перейти к двоичному коду.

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

Но двоичная система имеет и недостатки:

Ею пользуются только для ЭВМ для внутренней и внешней работы;

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

Библиографический список

1. Нестеренко А.В. ЭВМ и профессия программиста. М.: Просвещение, 1990.

2. Решетников В.Н., Сотников А.Н. Информатика – что это? М.: Радио и связь, 1989.

3. Фомин С.В. Системы счисления. М.: Наука, 1987.

4. Информатика: Системы счисления: спецвыпуск, №42 1995.

5. Информатика: Семинар, №2, №3 2006.

6. Информатика: В мир информатики, №8 2007.

7. http://www.internet-school.ru/Enc.ashx?item=3773

© nvuti-info.ru, 2024
Новости бизнеса, дизайна, красоты, строительства, финансов