Сколько существует различных двузначных чисел в шестнадцатеричной системе счисления
Перейти к содержимому

Сколько существует различных двузначных чисел в шестнадцатеричной системе счисления

  • автор:

Упр.710 ГДЗ Колягин Ткачёва 7 класс (Алгебра)

Изображение 710. Сколько существует различных двузначных чисел, в записи которых можно использовать цифры 1, 2, 3, 4, 5, 6, если цифры в числе: 1) могут повторяться; 2) должны быть.

710. Сколько существует различных двузначных чисел, в записи которых можно использовать цифры 1, 2, 3, 4, 5, 6, если цифры в числе: 1) могут повторяться; 2) должны быть различными?

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

*размещая тексты в комментариях ниже, вы автоматически соглашаетесь с пользовательским соглашением

Популярные решебники 7 класс Все решебники

Алексеев, Николина, Липкина
Лукашик 7-9 класс
Лукашик, Иванова
Арсентьев, Данилов, Курукин
Баранова, Афанасьева, Михеева

Изображение учебника

©Reshak.ru — сборник решебников для учеников старших и средних классов. Здесь можно найти решебники, ГДЗ, переводы текстов по школьной программе. Практически весь материал, собранный на сайте — авторский с подробными пояснениями профильными специалистами. Вы сможете скачать гдз, решебники, улучшить школьные оценки, повысить знания, получить намного больше свободного времени.

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

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

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

  • Что такое системы счисления
  • От десятичных чисел к двоичным
  • Зачем нужна двоичная система
  • Как переводить двоичные числа в десятичные
  • Как переводить десятичные числа в двоичные
  • Шестнадцатеричная система счисления
  • Восьмеричная система счисления
  • Конвертация чисел в программах
  • Сервисы для перевода из системы в систему
  • Заключение

Что такое системы счисления

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

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

Сейчас разные способы записи чисел называются системами счисления.

Систем счисления было придумано довольно много, и даже в наши дни мы используем две системы, возникшие в далёкой древности. Из Древнего Рима к нам пришла римская система счисления, где цифры обозначаются буквами латинского алфавита. За основу римляне взяли количество пальцев на одной руке — 5, и на двух руках — 10. Числа 1, 5 и 10 в римской системе обозначаются буквами I, V и X, и с помощью них можно записать любое число от 1 до 49. Например, VII это 7, а XIX — 19.

От Древних Шумеров мы научились делить дроби на шестьдесят частей. Именно из-за них в нашем часе 60 минут, а в минуте 60 секунд. Шумерская система счисления так и называется — шестидесятеричная. Но, конечно, наиболее привычной выглядит численная запись в системе, которую придумали в Древней Индии. Сейчас ее называют арабской или десятичной системой счисления.

От десятичных чисел к двоичным

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

1072

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

0123456789

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

1×1000+7×100+0×10+2×1

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

Цифры, записанные в соседних позициях, будут различаться не в десять раз, а в два. То есть там, где в десятичной системе мы видим 1, 10, 100, 1 000, 10 000, в двоичной будут числа 1, 2, 4, 8, 16 и так далее.

1×1024+1×512+0×256+ +1×128+0×64+1×32+0×16+ +0×8+1×4+1×2+0×1

Это очень большое двоичное число. Давайте запишем его в привычной форме:

1 1 0 1 0 1 0 0 1 1 0 1024 512 256 128 64 32 16 8 4 2 1

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

11010100110₂

Это особенно важно, когда в тексте одновременно встречаются десятичные и двоичные числа.

11010100110₂ = 1702

Зачем нужна двоичная система

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

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

Чтобы записать все числа до миллиона — от 0 до 999 999 — надо шесть цифр, значит, для хранения таких чисел нужно целых 60 ламп.

Кольцевой регистр

Инженеры заметили, что если бы они кодировали числа в двоичной системе, то для хранения таких же больших чисел им бы потребовалось всего двадцать радиоламп — в три раза меньше!

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

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

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

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

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

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

Как переводить двоичные числа в десятичные

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

11010

Запишем его в математической записи, помня, что вместо основания 10, мы используем основание 2.

1×16+1×8+0×4+1×2+0×1

Из этого примера видно, что у всех слагаемых только два множителя — 0 и 1. Слагаемые с множителем 0 равны нулю, поэтому их можно отбросить, оставив только слагаемые с множителем 1.

1×16+1×8+1×2

У слагаемых с множителем 1 этот множитель можно не записывать.

16+8+2

Теперь нетрудно посчитать сумму.

26

Вывод: число 11010 в двоичной записи — то же самое, что 26 в десятичной.

11010₂=26

Ещё раз повторим, как перевести двоичное число в десятичное.

  • Записать число в математическом виде
  • Отбросить слагаемые с множителем 0
  • Сложить результат

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

Двоичное число Степень 2 Десятичное число
1 2 2 0 1
10 2 2 1 2
100 2 2 2 4
1000 2 2 3 8
1 0000 2 2 4 16
10 0000 2 2 5 32
100 0000 2 2 6 64
1000 0000 2 2 7 128
1 0000 0000 2 2 8 256
10 0000 0000 2 2 9 512
100 0000 0000 2 2 10 1 024
1 0000 0000 0000 0000 2 2 16 65 536
1 0000 0000 0000 0000 0000 0000 2 2 24 16 777 216
1 0000 0000 0000 0000 0000 0000 0000 0000 2 2 32 4 294 967 296

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

11010₂=10000₂+1000₂+10₂=16+8+2=26

Как переводить десятичные числа в двоичные

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

Чтобы научиться её решать, давайте ещё раз посмотрим на первые натуральные числа в двоичной и десятичной записи.

Десятичное число Двоичное число
1 1 2
2 10 2
3 11 2
4 100 2
5 101 2
6 110 2
7 111 2
8 1000 2
9 1001 2

Обратим внимание на следующую закономерность: все чётные числа — 2, 4, 6 и 8 — в двоичной записи заканчиваются на 0. Все нечётные числа 1, 3, 5, 7 и 9 — на 1. Этому есть простое объяснение — в двоичной записи число 2 это как 10 в десятичной. Если двоичное число делится на два, оно круглое. Математики говорят, что чётные числа делятся на 2 без остатка (или с остатком 0), а нечётные — с остатком 1:

  • при делении 4 на 2 остаток 0;
  • при делении 5 на 2 остаток 1;
  • при делении 6 на 2 остаток 0;
  • при делении 9 на 2 остаток 1.

Попробуем перевести десятичное число 26 в двоичную систему. Для этого используем деление уголком на 2.

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

Если 26 разделить на 2, то в результате получится 13, остаток от деления 0. Продолжаем дальше:

  • 13 разделить на 2, в результате получится 6, остаток от деления 1;
  • 6 разделить на 2, в результате получится 3, остаток от деления 0;
  • 3 разделить на 2, в результате получится 1, остаток от деления 1;
  • 1 разделить на 2, в результате получится 0, остаток от деления 1;

Из остатков 1, 1, 0, 1 и 0 складывается нужная нам двоичная запись.

11010

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

Мы знаем, что компьютер использует числа для представления любой информации. Например, цвета хранятся в виде трёх чисел — яркости красной, зелёной и синей компонентов цвета. На каждый компонент отводится восемь двоичных позиций, поэтому максимальная яркость компонента равна 11111111₂ или 255. Цвет целиком описывается большим 24-х разрядным двоичным числом, например, 11111010 10000000 01110010. Это цвет Salmon из таблицы цветов HTML, он же лососевый цвет.

Лососевый цвет

Старшие восемь позиций отводятся для хранения красного компонента, средние восемь — зелёного, и младшие восемь — синего. Мы видим, что такая запись очень громоздка и неудобна.

Кажется, что цвет удобнее записать как десятичное число 16416882. Хотя оно занимает меньше места, по нему трудно понять, какова яркость каждого компонента.

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

  • В десятичной системе десять цифр, а в шестнадцатеричной — шестнадцать
  • В десятичной системе соседние позиции отличаются в десять раз, а в шестнадцатеричной — в шестнадцать раз

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

Основание 16 Основание 10 Основание 2
0 0 0
1 1 1
2 2 10
3 3 11
4 4 100
5 5 101
6 6 110
7 7 111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111

Шестнадцатеричная система счисления хороша тем, что группа из четырёх двоичных цифр кодируется одной шестнадцатеричной цифрой. Таким образом, лососевый цвет выглядит как:

1111 1010 1000 0000 0111 0010

В шестнадцатеричной системе счисления он записывается так:

FA 80 72

Вначале трудно понять, каков порядок у шестнадцатеричного числа FA. Как и в случае с двоичными числами, программисты обычно помнят порядки круглых шестнадцатеричных чисел. Но можно не запоминать, а подглядывать в эту таблицу:

Шестнадцатеричное число Десятичное число
10 16 16
20 16 32
30 16 48
40 16 64
50 16 80
60 16 96
70 16 112
80 16 128
90 16 144
A0 16 160
B0 16 176
C0 16 192
D0 16 208
E0 16 224
F0 16 240
100 16 256
1000 16 4 096
1 0000 16 65 536
10 0000 16 1 048 576
100 0000 16 16 777 216
1000 0000 16 268 435 456
1 0000 0000 16 4 294 967 296

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

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

Восьмеричная система когда-то использовалась наравне с шестнадцатеричной. Из названия понятно, что она использует всего восемь цифр: 0, 1, 2, 3, 4, 5, 6 и 7. Восьмеричная система подходит для представления шести-, девяти- и двенадцатиразрядных двоичных чисел.

Такие числа встречаются нечасто. Один из самых известных примеров использования восьмеричных чисел — права доступа в операционной системе UNIX. Они записываются девятизначным двоичным числом, например 110100100 или 111101100. Запоминать и передавать такие числа неудобно, поэтому программисты предпочитают восьмеричную систему счисления, и записывают права доступа в виде 644 или 754.

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

stat и chmod

Пользователи UNIX используют команду stat, чтобы узнать права доступа, и команду chmod, чтобы изменить их. На рисунке вы видите, что команды stat и chmod используют восьмеричные числа. Подробный рассказ об этих командах выходит за рамки нашей статьи. Узнаете больше о правах доступа, и о том, что означают эти числа, можно изучив командную строку Linux.

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

Конвертация чисел в программах

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

Python

Чтобы записать в Python двоичное число, добавьте перед ним префикс 0b. Десятичное число 26 можно записать в виде 0b11010. У шестнадцатеричных чисел префикс 0x, а у восьмеричных — 0o.

print(0b11010) # => 26 print(0x1a) # => 26 print(0o32) # => 26 

Во всех случаях, чтобы записать число, мы пишем сначала цифру ноль «0», а затем букву, которая определяет систему счисления. Буква «b» — первая в слове binary (двоичный), а буква «o» — в слове octal (восьмеричный). Буква «x» выбивается из общего правила — это третья буква в слове hexadecimal (шестнадцатеричный).

Функции bin() , hex() и oct() преобразуют число в двоичную, шестнадцатеричную и восьмеричную системы.

print(bin(26)) # => '0b11010' print(hex(26)) # => '0x1a' print(oct(26)) # => '0o32' 

Благодаря префиксной записи и функциям bin() , hex() и oct() , мы можем преобразовывать числа из любой системы в любую.

print(hex(0o32)) // >= '0x1a' 

JavaScript

В JavaScript для представления чисел используются те же самые префиксы, что и в Python. 0b11010, 0x1a и 0o32 — записи числа 26 в двоичной, шестнадцатеричной и восьмеричной системах счисления.

console.log(0b11010) // => 26 console.log(0x1a) // => 26 console.log(0o32) // => 26 

Для преобразования чисел в другую систему счисления нужно вызывать метод toString() , передав в качестве параметра основание системы.

Обычно в JavaScript мы можем вызвать метод у объекта с помощью точки. Например, если мы сохранили число в переменной i , мы можем узнать его шестнадцатеричное представление, вызвав метод i.toString(16) . Но мы не можем вызывать метод у числа 2 — 2.toString(16) — потому что в JavaScript точка в записи чисел разделяет целую и дробную части. Если дробная часть равна нулю, её можно не записывать, поэтому «2.» означает то же самое, что и «2.0».

В примере вы видите три корректных способа обойти эту проблему, и вызвать метод toString() у числа 26.

console.log((26).toString(2)) // => '11010' console.log(26..toString(16)) // => '1a' console.log(26 .toString(8)) // => '32' 

Сервисы для перевода из системы в систему

Существует множество сервисов для перевода чисел из системы в систему. Это умеет даже Google. Чтобы перевести двоичное число, например, 11010 в десятичную систему, надо ввести запрос 0b11010 decimal.

0b11010 decimal

Чтобы перевести десятичное число, например, 26 в двоичную систему, надо ввести запрос 26 binary.

26 binary

Обратите внимание, что Google использует префикс 0b, чтобы отличать двоичные числа от десятичных.

Чтобы перевести десятичное число 137 в шестнадцатеричную систему, введите запрос 137 hex.

137 hex

Чтобы перевести шестнадцатеричное число 2BAD в десятичную систему, введите запрос 0x2BAD decimal.

0x2BAD decimal

Google использует префикс 0x для того, чтобы отличать шестнадцатеричные числа от всех прочих. Чтобы перевести число 121 в восьмеричную систему, введите запрос 121 octal.

121 octal

Чтобы перевести число обратно, введите в строке поиска запрос 0o171 decimal.

0o171 decimal

Мы видим, что Google для представления чисел в двоичной, шестнадцатеричной и восьмеричной системах счисления использует такие же префиксы, которые мы видели в примерах на Python и JavaScript.

Заключение

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

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

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

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

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

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

Сколько существует чисел, шестнадцатеричная запись которых содержит 3 цифры

Author24 — интернет-сервис помощи студентам

Сколько существует чисел, шестнадцатеричная запись которых содержит 3 цифры, причём все цифры различны и никакие две чётные и две нечётные цифры не стоят рядом?

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Сколько существует трехзначных чисел, в которых все цифры четные и разные?
Сколько существует трехзначных чисел, в которых все цифры четные и разные?

Сколько существует шестизначных чисел, в записи которых хотя бы 2 одинаковые цифры?
Сколько существует шестизначных чисел в записи которых хотя бы 2 одинаковых цифр

Сколько существует трехзначных чисел, в которых все цифры нечетные и разные?
Сколько существует трехзначных чисел, в которых все цифры нечетные и разные?

Сколько существует 6-значных чисел, у которых по три четных и нечетных цифры?
Сколько существует 6-значных чисел у которых по три четных и нечетных цифры?

Эксперт по математике/физике

4166 / 3038 / 914
Регистрация: 19.11.2012
Сообщений: 6,182

Лучший ответ

Сообщение было отмечено mangomang как решение

Решение

Числа имеют вид нчн или чнч. Итого получается, если допускается ведущий ноль 2*8*8*7. Если первой цифрой не может быть ноль, то 8*8*7+7*8*7.

1593 / 1043 / 278
Регистрация: 05.10.2014
Сообщений: 5,135
Так ведь в шестнадцатеричной системе есть цифры и буквы)) Речь именно о цифрах?
Регистрация: 06.10.2020
Сообщений: 176

ЦитатаСообщение от kabenyuk Посмотреть сообщение

Числа имеют вид нчн или чнч. Итого получается, если допускается ведущий ноль 2*8*8*7. Если первой цифрой не может быть ноль, то 8*8*7+7*8*7.

Первой цифрой ноль не может быть.

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

Это аналогичная задача. Здесь у меня получается 3*4*3*4*3*4 + 4*4*3*4*3*4. Правильно ли это?

Добавлено через 37 секунд

ЦитатаСообщение от mihailm Посмотреть сообщение

Так ведь в шестнадцатеричной системе есть цифры и буквы)) Речь именно о цифрах?
О числах из цифр и букв

Эксперт C

27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979

ЦитатаСообщение от mihailm Посмотреть сообщение

ведь в шестнадцатеричной системе есть цифры и буквы
В 16-ричной системе цифры могут обозначаться различными значками. Их суть и смысл этого не меняется.

ЦитатаСообщение от Байт Посмотреть сообщение

В 16-ричной системе цифры могут обозначаться различными значками

Сказал Байт, как отрезал!
Могут конечно, но никогда не обозначаются, иначе народ сойдет с ума)
«Цифра В как известно нечетная» — прикольно звучит!

Меню пользователя @ mihailm

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604

Сколько существует шестизначных чисел, цифры которых имеют одинаковую кратность?
Сколько существует шестизначных чисел, цифры которых имеют одинаковую кратность?

Сколько существует 6-значных чисел, у которых нет одинаковых цифр, а 2 и 4 цифры — нечётные?
1) Сколько существует 6-значных чисел, у которых нет одинаковых цифр, а 2 и 4 цифры — нечётные?

Сколько существует 6-значных чисел в 6-системе счисления, у которых все цифры разные?
Добрый день. Задали д.з: 1. Сколько сущ-ет 6значных чисел в 6 сс, у которых все цифры разные? Мой.

Сколько существует 4-значных чисел в 4-ичной системе счисления, у которых не все цифры разные?
Сколько существует 4-значных чисел в 4-ичной системе счисления, у которых не все цифры разные.

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

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

Или воспользуйтесь поиском по форуму:

Основы систем счисления

Изучая кодировки, я понял, что недостаточно хорошо понимаю системы счислений. Тем не менее, часто использовал 2-, 8-, 10-, 16-ю системы, переводил одну в другую, но делалось все на “автомате”. Прочитав множество публикаций, я был удивлен отсутствием единой, написанной простым языком, статьи по столь базовому материалу. Именно поэтому решил написать свою, в которой постарался доступно и по порядку изложить основы систем счисления.

Введение

Система счисления — это способ записи (представления) чисел.

Что под этим подразумевается? Например, вы видите перед собой несколько деревьев. Ваша задача — их посчитать. Для этого можно — загибать пальцы, делать зарубки на камне (одно дерево — один палец\зарубка) или сопоставить 10 деревьям какой-нибудь предмет, например, камень, а единичному экземпляру — палочку и выкладывать их на землю по мере подсчета. В первом случае число представляется, как строка из загнутых пальцев или зарубок, во втором — композиция камней и палочек, где слева — камни, а справа — палочки

Системы счисления подразделяются на позиционные и непозиционные, а позиционные, в свою очередь, — на однородные и смешанные.

Непозиционная — самая древняя, в ней каждая цифра числа имеет величину, не зависящую от её позиции (разряда). То есть, если у вас 5 черточек — то число тоже равно 5, поскольку каждой черточке, независимо от её места в строке, соответствует всего 1 один предмет.

Позиционная система — значение каждой цифры зависит от её позиции (разряда) в числе. Например, привычная для нас 10-я система счисления — позиционная. Рассмотрим число 453. Цифра 4 обозначает количество сотен и соответствует числу 400, 5 — кол-во десяток и аналогично значению 50, а 3 — единиц и значению 3. Как видим — чем больше разряд — тем значение выше. Итоговое число можно представить, как сумму 400+50+3=453.

Однородная система — для всех разрядов (позиций) числа набор допустимых символов (цифр) одинаков. В качестве примера возьмем упоминавшуюся ранее 10-ю систему. При записи числа в однородной 10-й системе вы можете использовать в каждом разряде исключительно одну цифру от 0 до 9, таким образом, допускается число 450 (1-й разряд — 0, 2-й — 5, 3-й — 4), а 4F5 — нет, поскольку символ F не входит в набор цифр от 0 до 9.

Смешанная система — в каждом разряде (позиции) числа набор допустимых символов (цифр) может отличаться от наборов других разрядов. Яркий пример — система измерения времени. В разряде секунд и минут возможно 60 различных символов (от «00» до «59»), в разряде часов – 24 разных символа (от «00» до «23»), в разряде суток – 365 и т. д.

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

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

Единичная система счисления

Число в этой системе счисления представляет собой строку из черточек (палочек), количество которых равно значению данного числа. Таким образом, урожай из 100 фиников будет равен числу, состоящему из 100 черточек.
Но эта система обладает явными неудобствами — чем больше число — тем длиннее строка из палочек. Помимо этого, можно легко ошибиться при записи числа, добавив случайно лишнюю палочку или, наоборот, не дописав.

Для удобства, люди стали группировать палочки по 3, 5, 10 штук. При этом, каждой группе соответствовал определенный знак или предмет. Изначально для подсчета использовались пальцы рук, поэтому первые знаки появились для групп из 5 и 10 штук (единиц). Все это позволило создать более удобные системы записи чисел.

Древнеегипетская десятичная система

В Древнем Египте использовались специальные символы (цифры) для обозначения чисел 1, 10, 10 2 , 10 3 , 10 4 , 10 5 , 10 6 , 10 7 . Вот некоторые из них:

image

Почему она называется десятичной? Как писалось выше — люди стали группировать символы. В Египте — выбрали группировку по 10, оставив без изменений цифру “1”. В данном случае, число 10 называется основанием десятичной системы счисления, а каждый символ — представление числа 10 в какой-то степени.

Числа в древнеегипетской системе счисления записывались, как комбинация этих
символов, каждый из которых повторялся не более девяти раз. Итоговое значение равнялось сумме элементов числа. Стоит отметить, что такой способ получения значения свойственен каждой непозиционной системе счисления. Примером может служить число 345:

image

Вавилонская шестидесятеричная система

В отличии от египетской, в вавилонской системе использовалось всего 2 символа: “прямой” клин — для обозначения единиц и “лежачий” — для десятков. Чтобы определить значение числа необходимо изображение числа разбить на разряды справа налево. Новый разряд начинается с появления прямого клина после лежачего. В качестве примера возьмем число 32:
image
Число 60 и все его степени так же обозначаются прямым клином, что и “1”. Поэтому вавилонская система счисления получила название шестидесятеричной.
Все числа от 1 до 59 вавилоняне записывали в десятичной непозиционной системе, а большие значения — в позиционной с основанием 60. Число 92:
image
Запись числа была неоднозначной, поскольку не существовало цифры обозначающей ноль. Представление числа 92 могло обозначать не только 92=60+32, но и, например, 3632=3600+32. Для определения абсолютного значения числа был введен специальный символ для обозначения пропущенного шестидесятеричного разряда, что соответствует появлению цифры 0 в записи десятичного числа:
image
Теперь число 3632 следует записывать, как:

image

Шестидесятеричная вавилонская система — первая система счисления, частично основанная на позиционном принципе. Данная система счисления используется и сегодня, например, при определении времени — час состоит из 60 минут, а минута из 60 секунд.

Римская система

Римская система не сильно отличается от египетской. В ней для обозначения чисел 1, 5, 10, 50, 100, 500 и 1000 используются заглавные латинские буквы I, V, X, L, C, D и M соответственно. Число в римской системе счисления — это набор стоящих подряд цифр.

  1. Значение числа равно сумме значений его цифр. Например, число 32 в римской системе счисления имеет вид XXXII=(X+X+X)+(I+I)=30+2=32
  2. Если слева от большей цифры стоит меньшая, то значение равно разности между большей и меньшей цифрами. При этом, левая цифра может быть меньше правой максимум на один порядок: так, перед L(50) и С(100) из «младших» может стоять только X(10), перед D(500) и M(1000) — только C(100), перед V(5) — только I(1); число 444 в рассматриваемой системе счисления будет записано в виде CDXLIV = (D-C)+(L-X)+(V-I) = 400+40+4=444.
  3. Значение равно сумме значений групп и цифр, не подходящих под 1 и 2 пункты.
Позиционные системы счисления

Как упоминалось выше — первые предпосылки к появлению позиционной системы возникли в древнем Вавилоне. В Индии система приняла форму позиционной десятичной нумерации с применением нуля, а у индусов эту систему чисел заимствовали арабы, от которых её переняли европейцы. По каким-то причинам, в Европе за этой системой закрепилось название “арабская”.

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

Это одна из самых распространенных систем счисления. Именно её мы используем, когда называем цену товара и произносим номер автобуса. В каждом разряде (позиции) может использоваться только одна цифра из диапазона от 0 до 9. Основанием системы является число 10.

Для примера возьмем число 503. Если бы это число было записано в непозиционной системе, то его значение равнялось 5+0+3 = 8. Но у нас — позиционная система и значит каждую цифру числа необходимо умножить на основание системы, в данном случае число “10”, возведенное в степень, равную номеру разряда. Получается, значение равно 5*10 2 + 0*10 1 + 3*10 0 = 500+0+3 = 503. Чтобы избежать путаницы при одновременной работе с несколькими системами счисления основание указывается в качестве нижнего индекса. Таким образом, 503 = 50310.

Помимо десятичной системы, отдельного внимания заслуживают 2-, 8-, 16-ая системы.

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

Эта система, в основном, используется в вычислительной технике. Почему не стали использовать привычную нам 10-ю? Первую вычислительную машину создал Блез Паскаль, использовавший в ней десятичную систему, которая оказалась неудобной в современных электронных машинах, поскольку требовалось производство устройств, способных работать в 10 состояниях, что увеличивало их цену и итоговые размеры машины. Этих недостатков лишены элементы, работающие в 2-ой системе. Тем не менее, рассматриваемая система была создана за долго до изобретения вычислительных машин и уходит “корнями” в цивилизацию Инков, где использовались кипу — сложные верёвочные сплетения и узелки.

Двоичная позиционная система счисления имеет основание 2 и использует для записи числа 2 символа (цифры): 0 и 1. В каждом разряде допустима только одна цифра — либо 0, либо 1.

Примером может служить число 101. Оно аналогично числу 5 в десятичной системе счисления. Для того, чтобы перевести из 2-й в 10-ю необходимо умножить каждую цифру двоичного числа на основание “2”, возведенное в степень, равную разряду. Таким образом, число 1012 = 1*2 2 + 0*2 1 + 1*2 0 = 4+0+1 = 510.

Хорошо, для машин 2-я система счисления удобнее, но мы ведь часто видим, используем на компьютере числа в 10-й системе. Как же тогда машина определяет какую цифру вводит пользователь? Как переводит число из одной системы в другую, ведь в её распоряжении всего 2 символа — 0 и 1?

Чтобы компьютер мог работать с двоичными числами (кодами), необходимо чтобы они где-то хранились. Для хранения каждой отдельной цифры применяется триггер, представляющий собой электронную схему. Он может находится в 2-х состояниях, одно из которых соответствует нулю, другое — единице. Для запоминания отдельного числа используется регистр — группа триггеров, число которых соответствует количеству разрядов в двоичном числе. А совокупность регистров — это оперативная память. Число, содержащееся в регистре — машинное слово. Арифметические и логические операции со словами осуществляет арифметико-логическое устройство (АЛУ). Для упрощения доступа к регистрам их нумеруют. Номер называется адресом регистра. Например, если необходимо сложить 2 числа — достаточно указать номера ячеек (регистров), в которых они находятся, а не сами числа. Адреса записываются в 8- и 16-ричной системах (о них будет рассказано ниже), поскольку переход от них к двоичной системе и обратно осуществляется достаточно просто. Для перевода из 2-й в 8-ю число необходимо разбить на группы по 3 разряда справа налево, а для перехода к 16-ой — по 4. Если в крайней левой группе цифр не достает разрядов, то они заполняются слева нулями, которые называются ведущими. В качестве примера возьмем число 1011002. В восьмеричной — это 101 100 = 548, а в шестнадцатеричной — 0010 1100 = 2С16. Отлично, но почему на экране мы видим десятичные числа и буквы? При нажатии на клавишу в компьютер передаётся определённая последовательность электрических импульсов, причём каждому символу соответствует своя последовательность электрических импульсов (нулей и единиц). Программа драйвер клавиатуры и экрана обращается к кодовой таблице символов (например, Unicode, позволяющая закодировать 65536 символов), определяет какому символу соответствует полученный код и отображает его на экране. Таким образом, тексты и числа хранятся в памяти компьютера в двоичном коде, а программным способом преобразуются в изображения на экране.

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

8-я система счисления, как и двоичная, часто применяется в цифровой технике. Имеет основание 8 и использует для записи числа цифры от 0 до 7.

Пример восьмеричного числа: 254. Для перевода в 10-ю систему необходимо каждый разряд исходного числа умножить на 8 n , где n — это номер разряда. Получается, что 2548 = 2*8 2 + 5*8 1 + 4*8 0 = 128+40+4 = 17210.

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

Шестнадцатеричная система широко используется в современных компьютерах, например при помощи неё указывается цвет: #FFFFFF — белый цвет. Рассматриваемая система имеет основание 16 и использует для записи числа: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B. C, D, E, F, где буквы равны 10, 11, 12, 13, 14, 15 соответственно.

В качестве примера возьмем число 4F516. Для перевода в восьмеричную систему — сначала преобразуем шестнадцатеричное число в двоичное, а затем, разбив на группы по 3 разряда, в восьмеричное. Чтобы преобразовать число в 2-е необходимо каждую цифру представить в виде 4-х разрядного двоичного числа. 4F516 = (100 1111 101)2. Но в 1 и 3 группах не достает разряда, поэтому заполним каждый ведущими нулями: 0100 1111 0101. Теперь необходимо разделить полученное число на группы по 3 цифры справа налево: 0100 1111 0101 = 010 011 110 101. Переведем каждую двоичную группу в восьмеричную систему, умножив каждый разряд на 2 n , где n — номер разряда: (0*2 2 +1*2 1 +0*2 0 ) (0*2 2 +1*2 1 +1*2 0 ) (1*2 2 +1*2 1 +0*2 0 ) (1*2 2 +0*2 1 +1*2 0 ) = 23658.

Помимо рассмотренных позиционных систем счисления, существуют и другие, например:
1) Троичная
2) Четверичная
3) Двенадцатеричная

Позиционные системы подразделяются на однородные и смешанные.

Однородные позиционные системы счисления

Определение, данное в начале статьи, достаточно полно описывает однородные системы, поэтому уточнение — излишне.

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

К уже приведенному определению можно добавить теорему: “если P=Q n (P,Q,n – целые положительные числа, при этом P и Q — основания), то запись любого числа в смешанной (P-Q)-ой системе счисления тождественно совпадает с записью этого же числа в системе счисления с основанием Q.”

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

Смешанными системами счисления также являются, например:
1) Факториальная
2) Фибоначчиева

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

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

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

Имеется число a1a2a3 в системе счисления с основанием b. Для перевода в 10-ю систему необходимо каждый разряд числа умножить на b n , где n — номер разряда. Таким образом, (a1a2a3)b = (a1*b 2 + a2*b 1 + a3*b 0 )10.

Пример: 1012 = 1*2 2 + 0*2 1 + 1*2 0 = 4+0+1 = 510

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

Записав все остатки снизу вверх, получаем итоговое число 17. Следовательно, 1510 = 178.

Преобразование из двоичной в восьмеричную и шестнадцатеричную системы

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

В качестве примера возьмем число 10012: 10012 = 001 001 = (0*2 2 + 0*2 1 + 1*2 0 ) (0*2 2 + 0*2 1 + 1*2 0 ) = (0+0+1) (0+0+1) = 118

Для перевода в шестнадцатеричную — разбиваем двоичное число на группы по 4 цифры справа налево, затем — аналогично преобразованию из 2-й в 8-ю.

Преобразование из восьмеричной и шестнадцатеричной систем в двоичную

Перевод из восьмеричной в двоичную — преобразуем каждый разряд восьмеричного числа в двоичное 3-х разрядное число делением на 2 (более подробно о делении см. выше пункт “Преобразование из десятичной системы счисления в другие”), недостающие крайние разряды заполним ведущими нулями.

Для примера рассмотрим число 458: 45 = (100) (101) = 1001012

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

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

Преобразование осуществляется также, как и для целых частей, за исключением того, что цифры числа умножаются на основание в степени “-n”, где n начинается от 1.

Пример: 101,0112 = (1*2 2 + 0*2 1 + 1*2 0 ), (0*2 -1 + 1*2 -2 + 1*2 -3 ) = (5), (0 + 0,25 + 0,125) = 5,37510

Преобразование дробной части двоичной системы в 8- и 16-ую

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

Пример: 1001,012 = 001 001, 010 = (0*2 2 + 0*2 1 + 1*2 0 ) (0*2 2 + 0*2 1 + 1*2 0 ), (0*2 2 + 1*2 1 + 0*2 0 ) = (0+0+1) (0+0+1), (0+2+0) = 11,28

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

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

Для примера переведем 10,62510 в двоичную систему:
0,625*2 = 1,25
0,250*2 = 0,5
0,5*2 = 1,0
Записав все остатки сверху вниз, получаем 10,62510 = (1010), (101) = 1010,1012

  • Системы счисления
  • двоичная
  • десятичная
  • восьмеричная
  • шестнадцатеричная

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *