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

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

Результат уже получен!

Перевод целых и дробных чисел из одной системы счисления в любую другую − теория, примеры и решения

Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:

Тогда число 6372 можно представить в следующем виде:

6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .

Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.

Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:

Тогда число 1287.923 можно представить в виде:

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3·10 -3 .

В общем случае формулу можно представить в следующем виде:

Ц n ·s n +Ц n-1 ·s n-1 +...+Ц 1 ·s 1 +Ц 0 ·s 0 +Д -1 ·s -1 +Д -2 ·s -2 +...+Д -k ·s -k

где Ц n -целое число в позиции n , Д -k - дробное число в позиции (-k), s - система счисления.

Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр {0,1,2,3,4,5,6,7,8,9}, в восьмеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7}, в двоичной системе счисления - из множества цифр {0,1}, в шестнадцатеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.В таблице Таб.1 представлены числа в разных системах счисления.

Таблица 1
Система счисления
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

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

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

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

С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.

Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:

1 ·2 6 +0 ·2 5 +1 ·2 4 +1 ·2 3 +1 ·2 2 +0 ·2 1 +1 ·2 0 +0 ·2 -1 +0 ·2 -2 +1 ·2 -3 =64+16+8+4+1+1/8=93.125

Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:

Пример 3 . Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:

Здесь A -заменен на 10, B - на 11, C - на 12, F - на 15.

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

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

Целую часть числа переводится из десятичной СС в другую систему счисления - последовательным делением целой части числа на основание системы счисления (для двоичной СС - на 2, для 8-ичной СС - на 8, для 16-ичной - на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.

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

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111 . Следовательно можно записать:

159 10 =10011111 2 .

Пример 5 . Переведем число 615 из десятичной СС в восьмеричную СС.

615 8
608 76 8
7 72 9 8
4 8 1
1

При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147 (см. Рис. 2). Следовательно можно записать:

615 10 =1147 8 .

Пример 6 . Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 - D. Следовательно наше шестнадцатеричное число - это 4CD9.

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

Рассмотрим вышеизложенное на примерах.

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

0.214
x 2
0 0.428
x 2
0 0.856
x 2
1 0.712
x 2
1 0.424
x 2
0 0.848
x 2
1 0.696
x 2
1 0.392

Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0.0011011 .

Следовательно можно записать:

0.214 10 =0.0011011 2 .

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

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:

0.125 10 =0.001 2 .

Пример 9 . Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.

0.214
x 16
3 0.424
x 16
6 0.784
x 16
12 0.544
x 16
8 0.704
x 16
11 0.264
x 16
4 0.224

Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:

0.214 10 =0.36C8B4 16 .

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

0.512
x 8
4 0.096
x 8
0 0.768
x 8
6 0.144
x 8
1 0.152
x 8
1 0.216
x 8
1 0.728

Получили:

0.512 10 =0.406111 8 .

Пример 11 . Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:

159.125 10 =10011111.001 2 .

Пример 12 . Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим.

Ответ: 3). Решение: Старший разряд двоичного эквивалента числа 83 равен 6, так как 2 6 =64. Это максимальная степень двойки, которая меньше заданного числа. 83-64=19, значит, следующая единица стоит в 4-ом разряде. 19-16= 3. 3-2=1, эта единица – в нулевом разряде, а число 2 – единица в первом разряде Таким образом, единицы стоят в 0, 1, 4, 6 разрядах, в остальных разрядах – нули. Получаем 1010011 2

Вычислите сумму двоичных чисел x и y , если

x =1010101 2

Ответ: 2). Решение: Вспомним, что 1 2 +1 2 =10 2 , поэтому 1010101 2

Ответ: 3, 7, 21.

Вариант 2006


Количество значащих нулей в двоичной записи десятичного числа 126 равно

Ответ:4). Решение: x = 1D 16 =11101 2 , y = 111010 2 11101 2

B1


В системе счисления с некоторым основанием число 17 записывается в виде 101. Укажите это основание.

Ответ: основание=4. Решение: 17:4=4, остаток 1, 4:4=1, остаток 0. записываем последнее частное и все остатки в обратном порядке. Получаем 101

Вариант 2007

A4


Сколько единиц в двоичной записи числа 195?

Ответ:3). Решение: 10 8 =1000 2 , 1000 2 · 10 2 =10000 2 , 10 16 =10000 2 В результате сложения 10000 2 + 10000 2 = 100000 2

Или переведем выражение10 16 + 10 8 · 10 2 в десятичную систему счисления. Получим

16 + 8·2 =16+16+32 = 100000 2

B1


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

Ответ:6, 9, 18. Решение: Для перевода числа из десятичной системы счисления в любую другую нужно делить это число нацело на основание искомой системы счисления. При первом делении мы получаем в остатке целочисленного деления последнюю цифру искомого числа. 4 в остатке получается при делении числа 22 на 6, 9, 18.

Вариант 2008

A 4 Сколько единиц в двоичной записи десятичного числа 194,5?

1) 5 2) 6 3) 3 4) 4

Ответ:4). Решение: Целая часть числа. Старший разряд двоичного эквивалента числа 194 равен 7, так как 2 7 =128. Это максимальная степень двойки, которая меньше заданного числа. 194-128=66, значит, следующая единица стоит в 6-ом разряде. 66-64= 2, это единица – в первом разряде, Таким образом, в целой части числа единицы стоят в 1, 6, 7 разрядах, в остальных разрядах – нули. Получаем 11000010 2 . Дробная часть десятичного числа 0,5 это 0,1 2 , так как двоичная единица в -1 разряде это 2 -1 десятичное, то есть 0,5. Получаем 194,5 = 11000010,1 2

Как пеpевести пpавильную десятичную дpобь в любую другую позиционную систему счисления?

Для перевода правильной десятичной дpоби F в систему счисления с основанием q необходимо F умножить на q , записанное в той же десятичной системе, затем дробную часть полученного произведения снова умножить на q, и т. д., до тех пор, пока дpобная часть очередного пpоизведения не станет pавной нулю, либо не будет достигнута требуемая точность изображения числа F в q -ичной системе. Представлением дробной части числа F в новой системе счисления будет последовательность целых частей полученных произведений, записанных в порядке их получения и изображенных одной q -ичной цифрой. Если требуемая точность перевода числа F составляет k знаков после запятой, то предельная абсолютная погрешность при этом равняется q -(k+1) / 2.


A 5 Вычислите сумму чисел x и у, при x = A6 16 , y = 75 8 .

Результат представьте в двоичной системе счисления.

Ответ:3). Решение: x = A6 16 = 10100110 2 , y = 75 8 = 111101 2 10100110 2

B 1 Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 23 оканчивается на 2.

Ответ: 3, 7, 21. Решение: Для перевода числа из десятичной системы счисления в любую другую нужно делить это число нацело на основание искомой системы счисления. При первом делении мы получаем в остатке целочисленного деления последнюю цифру искомого числа. Два в остатке получается при делении числа 23 на 3, 7, 21.

Вариант 2009

A3 Дано a=D7 16 , b=331 8 . Какое из чисел с , записанных в двоичной системе, отвечает условию a < c < b ?

1) 11011001 2) 11011100 3) 11010111 4) 11011000

Ответ:4). Решение: a = 11010111 2

Четыре старших разряда всех вариантов ответов и чисел a и b одинаковы, поэтому будем сравнивать сумму весов младших четырех разрядов. Это для a – 7 10 , для b – 9 10 , ищем ответ с числом 8 10 в 4-х младших разрядах. Это 1000 2 , то есть 4-ый вариант ответа.

A 4 Чему равна сумма чисел 43 8 и 56 16 ?

1) 121 8 2) 171 8 3) 69 16 4) 1000001 2

Ответ:2). Решение:

43 8 = 100011 2 56 16 = 1010110 2 1010110

1111001 2 = 171 8

B 3 Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 25, запись которых в системе счисления с основанием четыре оканчивается на 11.

Ответ: 5, 21 Решение: Среди десятичных чисел > 4 и <25 остаток 1 при делении нацело на 4 (последняя цифра числа в системе счисления с основанием 4) только у чисел 5, 9, 13, 17, 21. Последние две цифры 11 приделении нацело на 4 только– только у числа 5 (остаток 1 и частное 1) и у числа 21 (первый и второй остатки = 1, то есть две последние цифры)

Или проще:

11 4 = 4 1 + 4 0 = 5

111 4 = 4 2 + 5 = 21

1011 4 = 4 3 + 21 > 25

Вариант 2010

A 1

Ответ: 2) Решение: a = 10011101 2

Видно, что число 4) не подходит, оно больше b, больше a и меньше b только число 2)

A 4

Вычислите сумму чисел X и Y, если

Результат представьте в двоичном виде.

Ответ:4) Решение: X=110111 2 = 67 8

X + Y =67 8 +135 8 = 224 8 =10010100 2

A 11

Для передачи по каналу связи сообщения, состоящего только из символов А, Б, В и Г используется посимвольное кодирование: А-00, Б-11, В-010, Г-011. Через канал связи передается сообщение: ВАГБГВ. Закодируйте сообщение данным кодом. Полученную двоичную последовательность переведите в шестнадцатеричный вид.

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

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

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

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

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

Тема : Системы счисления и двоичное представление информации в памяти компьютера.

Теория :

· алгоритм перевода чисел между десятичной, двоичной, восьмеричной и шестнадцатеричной системами счисления

· представление отрицательных целых чисел в памяти в двоичном дополнительном коде:
1 способ:

1. перевести число в двоичную систему счисления,

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

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

2 способ:

1. уменьшить число на 1 и перевести число в двоичную систему счисления,

2. сделать инверсию битов.

Правила преставления чисел в двоичной системе:

1. четные числа оканчиваются на 0, нечетные – на 1;

2. числа, которые делятся на 4, оканчиваются на 00, и т. д.; числа, которые делятся на 2k, оканчиваются на k нулей

3. если число N принадлежит интервалу 2k-1 £ N < 2k, в его двоичной записи будет всего k цифр, например, для числа 125 :

i. 26 = 64 £ 125 < 128 = 27, 125 = 11111цифр)

4. числа вида 2k записываются в двоичной системе как единица и k нулей, например:

5. 16 = 24 = 100002

6. числа вида 2k-1 записываются в двоичной системе k единиц, например:

7. 15 = 24-1 = 11112

если известна двоичная запись числа N, то двоичную запись числа 2·N можно легко получить, приписав в конец ноль, например:
15 = 11112, 30 = 60 = 1 120 =

I. Системы счисления. А1_1.

1) Как представлено число 8310 в двоичной системе счисления?

1) 100103) 10100

Решение (вариант 1, деление на основание системы счисления N ):

2) последовательно делим число 83 на 2 = Þ 3.

Решение (вариант 2, разложение на сумму степеней двойки):

1) представляем число суммой степеней двойки: 83 = 64 + 16 + 2 + 1 = 26 + 24 + 21 + 20 Þ 3.

2) Как представлено число 25 в двоичной системе счисления?

3) Как представлено число 82 в двоичной системе счисления?

4) Как представлено число 263 в восьмеричной системе счисления?

5) Как записывается число 5678 в двоичной системе счисления?

6) Как записывается число A8716 в восьмеричной системе счисления?

7) Как записывается число 7548 в шестнадцатеричной системе счисления?

1) 73AEC16 4) A5616

II. Сколько единиц (двоичная система). А1_2.

1) Сколько единиц в двоичной записи числа 1025?

Вариант 1, прямой перевод:

1) переводим число 1025 в двоичную систему: 1025 =

2) считаем «1» Þ 2.

Вариант 2, разложение на сумму степеней двойки:

1) представляем число суммой степеней двойки: 1025 = 1024 + 1 = 210 + 20,

2) сколько в сумме различных степеней двойки – столько «1» Þ 2.

2) Сколько единиц в двоичной записи числа 195?

3) Сколько единиц в двоичной записи числа 173?

4) Сколько единиц в двоичной записи числа 64?

5) Сколько единиц в двоичной записи числа 127?

6) Сколько значащих нулей в двоичной записи числа 48?

7) Сколько значащих нулей в двоичной записи числа 254?

III. Отношения. А1_3.

1) Дано: и . Какое из чисел с , записанных в двоичной системе счисления, удовлетворяет неравенству a < c < b ?

1) 110110

Решение:

1. перевести все числа в одинаковую систему счисления и сравнить,

2. выбор системы счисления –

a. минимум операций перевода,

b. простота анализа полученных чисел (2)

Вариант 1 - десятичная система:

3) = 217, 2= 220, = 215, =216

4) верный ответ – 216 Þ – 4 .

Вариант 2 - двоичная система:

1) (каждая цифра шестнадцатеричной системы отдельно переводится в четыре двоичных – тетраду, старшие нули можно не писать);

2) (каждая цифра восьмеричной системы отдельно переводится в три двоичных – триаду , старшие нули можно не писать);

3) анализируем поразрядно число от старшего к младшему разряду, выделяем отличные части числа br = 10012, ar = 01112, отсюда число между – 1000, верный ответ - Þ 4.

Вариант 3 – восьмеричная/шестнадцатеричная системы:

1) для 8-чной - нужно знать двоичную запись чисел от 0 до 7, двоичную запись числа разбиваем на триады справа налево , каждую триаду переводим отдельно в десятичную систему;

2) для 16-чной - нужно знать двоичную запись чисел от 8 до 15, двоичную запись числа разбиваем на тетрады справа налево , каждую тетраду переводим в шестнадцатеричную систему; при этом тетрады можно переводить из двоичной системы в десятичную, а затем заменить все числа, большие 9, на буквы – A, B, C, D, E, F);

2) Дано: https://pandia.ru/text/78/108/images/image008_14.gif" width="59" height="24 src=">..gif" width="60" height="24 src=">.gif" width="65" height="19 src=">?

4) Дано: https://pandia.ru/text/78/108/images/image013_7.gif" width="59" height="24 src=">..gif" width="57" height="24 src=">.gif" width="65" height="19 src=">?

6) Дано: https://pandia.ru/text/78/108/images/image017_4.gif" width="57" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

8) Дано: https://pandia.ru/text/78/108/images/image021_4.gif" width="57" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

10) Дано: https://pandia.ru/text/78/108/images/image013_7.gif" width="59" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

12) Дано: https://pandia.ru/text/78/108/images/image015_4.gif" width="59" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

14) Дано: https://pandia.ru/text/78/108/images/image029_3.gif" width="55" height="24 src=">. Какое из чисел С, записанных в двоичной системе счисления, удовлетворяет неравенству ??

19) Какое из чисел является наименьшим?

20) Какое из чисел является наибольшим?

IV. Память. А1_4.

1. Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-78)?

Вариант 1.

1) переводим 78 в двоичную систему счисления, добавляя «нули» до 8 бит в старшие разряды:

78 = 64 + 8 + 4 + 2 = 26 + 23 + 22 + 21 = 0

3) прибавляем единицу: + 1 = ;

4) в записи числа 4 единицы Þ ответ – 2.

Вариант 2.

1) уменьшаем число на 1, переводим в двоичную систему счисления, добавляя «нули» до 8 бит в старшие разряды

77 = 64 + 8 + 4 + 2 = 26 + 23 + 22 + 20 = 0

2) делаем инверсию битов (заменяем везде 0 на 1 и 1 на 0):

3) в записи числа 4 единицы Þ ответ – 2.

2. Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-128)?

3. Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-35) ?

В продолжение темы:
Linux

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

Новые статьи
/
Популярные