Разное

Системы исчисления таблица: Таблица соответствия десятеричного от 1 до 255 (decimal), двоичного (binary) и шестнадцатеричного (hexadecimal) представлений чисел. Шестнадцатиричная система счисления, двоичное счисление.

Таблицы сложения и умножения в девятеричной системе счисления

Таблицы сложения и умножения в девятеричной системе счисления

Девятеричная математика

Сложение 1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 10
2 3 4 5 6 7
8
10 11
3 4 5 6 7 8 10 11 12
4 5 6 7 8 10 11 12 13
5 6 7 8 10 11 12 13 14
6 7 8 10 11 12 13 14 15
7 8 10 11 12 13 14 15 16
8 10 11 12 13 14 15 16 17
Умножение 1 2 3 4 5 6 7 8
1 1 2 3 4 5 6 7 8
2 2 4 6 8 11 13 15 17
3 3 6
10
13 16 20 23 36
4 4 8 13 17 22 26 31 35
5 5 11 16 22 27 33 38 44
6 6 13 20 26 33 40 46 53
7 7 15 23 31 38 46 54 62
8 8 17 26 35 44 53 62 71

Щелкните по ссылке, что бы написать письмо авторам turbobox. narod.ru

Сайт создан в системе uCoz

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

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

Вы искали 10 система счисления? На нашем сайте вы можете получить ответ на любой математический вопрос здесь. Подробное решение с описанием и пояснениями поможет вам разобраться даже с самой сложной задачей и 12 в двоичной системе, не исключение. Мы поможем вам подготовиться к домашним работам, контрольным, олимпиадам, а так же к поступлению в вуз. И какой бы пример, какой бы запрос по математике вы не ввели — у нас уже есть решение. Например, «10 система счисления».

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

Однако сейчас наука не стоит на месте и мы можем наслаждаться плодами ее деятельности, такими, например, как онлайн-калькулятор, который может решить задачи, такие, как 10 система счисления,12 в двоичной системе,127 в восьмеричной системе счисления перевести в десятичную,2 1 перевод,2 перевести,2 система счисления,2 сс,3 в двоичной системе,32 в десятичной системе,36 в двоичной системе,5 в двоичной системе,6 в двоичной системе,6 в двоичной системе счисления,8 система счисления,c перевод из 10 в 2 систему счисления,в двоичной из 16,все системы счисления,двоичной системе калькулятор,десятеричная система,десятеричная система исчисления,десятеричная система счисления,десятеричная система счисления таблица,десятичная система исчисления,десятичная сс,десятичной системе счисления,десятичные системы счисления,записать число в развернутом виде онлайн,запиши число 5bc16 в десятичной системе счисления,из 10 в 2 системы,из 10 в 8 систему счисления,из 10 системы счисления в 8,из 10 сс в 2 сс,из 2 в 8,из 2 в 8 систему счисления,из 8 в 10 система счисления,из 8 в 10 системы счисления,из 8 в 2 систему,из 8 системы счисления в 10,из двоичной калькулятор,информатика калькулятор,как из 10 в 2 систему счисления,как из 10 перевести в 2,как из 10 перевести в 2 систему,как из 10 переводить в 2,как из 10 системы перевести в 2,как из 10 системы счисления перевести в 8,как из 2 в 10 перевести,как из 2 перевести в 10,как из 2 перевести в 8 систему счисления,как из 2 переводить в 10,как из 2 системы счисления перевести в 8,как из 8 в 10 систему счисления,как из 8 перевести в 10 систему счисления,как из 8 перевести в 2 систему счисления,как из 8 системы перевести в 10,как из 8 системы счисления перевести в 10,как перевести в 2 систему счисления из 8 в,как перевести в 2 систему счисления из 8 в 2,как перевести в 8 систему счисления,как перевести из 10 в 2,как перевести из 10 в 2 системы счисления в,как перевести из 10 в 8,как перевести из 10 в 8 систему счисления,как перевести из 10 системы в 2,как перевести из 10 системы счисления в 8,как перевести из 16 в 2 систему счисления,как перевести из 2 в 10,как перевести из 2 в 16 систему счисления,как перевести из 2 в 8 систему счисления,как перевести из 2 системы счисления в 8,как перевести из 8 в 10 систему,как перевести из 8 в 16 систему счисления,как перевести из 8 в 2 систему счисления,как перевести из 8 в 2 системы счисления,как перевести из 8 системы в 10,как перевести из 8 системы счисления в 2,как перевести число в двоичную систему счисления,как перевести число из 10 в 8 систему счисления,как перевести число из 16 в 2 систему счисления,как перевести число из 2 в 8 систему счисления,как перевести число из 8 в 10 систему счисления,как перевести число из 8 в 2 систему счисления,как переводить в 8 систему счисления,как переводить в системы счисления,как переводить из 10 в 8 систему счисления,как переводить из 10 системы в 2,как переводить из 2 в 8 систему счисления,как переводить из 2 системы в 10,как переводить из 8 в 2 систему счисления,как переводить из систем счисления,как переводить числа в разные системы счисления,как число записать в десятичной системе счисления,как число из 8 перевести в 10,калькулятор в двоичной системе,калькулятор в двоичной системе счисления,калькулятор в двоичную систему,калькулятор двоичная система,калькулятор двоичной системе,калькулятор двоичной системы,калькулятор двоичной системы в десятичную,калькулятор двоичных систем,калькулятор информатики,калькулятор онлайн информатика,калькулятор по информатике,калькулятор ру по информатике,калькулятор систем двоичных,калькулятор сс информатика,калькулятор сс онлайн с решением,калькулятор сс с решением,калькулятор счисления с решением,калькулятор шестнадцатиричной системы счисления онлайн,онлайн деление систем счисления,онлайн калькулятор систем счисления с решением,онлайн решение систем счисления,онлайн решение системы счисления,онлайн система счисления с решением,онлайн системы счисления с решением,переведите числа из 10 системы счисления в 2 ную,переведите числа из 2 системы счисления в 10,переведите числа из 2 системы счисления в 10 ную,перевести 2,перевести в 8 из 10,перевести из 2 в 8 систему счисления,перевести число 143511 8 в десятичную систему счисления,перевод в информатике системы счисления,перевод в шестеричную систему счисления,перевод вещественных чисел из одной системы счисления в другую,перевод из 10 в 8 систему,перевод из 10 системы в 8,перевод из 16 ричной в двоичную,перевод из 16 сс в 2 сс,перевод из 2 системы счисления в 8,перевод из 2 сс в 16 сс,перевод из 8 в 2,перевод из 8 в 2 систему,перевод из 8 системы счисления в 10,перевод из 8 системы счисления в 2,перевод систем счисления примеры,перевод системы счисления в информатике,перевод системы счисления из 2 в 8,перевод системы счисления из 8 в 2,перевод целых чисел из одной системы счисления в другую,перевод чисел из 2 в 8 систему счисления,перевод чисел из 8 в 2 систему счисления,перевод чисел из десятичной системы счисления в любую другую,перевод чисел из одной системы счисления в другую примеры,перевода чисел из одной системы счисления в другую примеры,переводчик чисел онлайн,преобразование систем счисления,примеры перевод систем счисления,примеры перевод чисел из одной системы счисления в другую,примеры перевода чисел из одной системы счисления в другую примеры,решение онлайн систем счисления,решение онлайн системы счисления,решение систем счисления онлайн,решение системы счисления онлайн,с решением система счисления,систем счисления,система исчислений,система исчисления,система счисления,система счисления 2,система счисления из 10 в 8,система счисления как переводить,система счисления онлайн с решением,система счисления с основанием 10,система счисления с основанием 4,система счисления с решением,система счисления с решением онлайн,система счисления таблица,системе счисления,систему счисления,системы исчислений,системы исчисления,системы счисления,системы счисления в информатике перевод,системы счисления из 10 в 8,системы счисления из 8 в 10,системы счисления онлайн калькулятор с решением,системы счисления онлайн решение,системы счисления онлайн с решением,системы счисления перевод из 2 в 8,системы счисления перевод из одной системы счисления в другую примеры,системы счисления перевод целых чисел из одной системы счисления в другую,системы счисления перевод чисел из одной системы счисления в другую примеры,системы счисления решение онлайн,системы счисления с решением онлайн,слов перевод в двоичную систему,сс онлайн калькулятор,счисления,таблица десятичной системы счисления,таблица перевода из 16 в 2 систему счисления,таблица перевода из 2 в 16 систему счисления,таблица перевода из 2 в 8,таблица перевода из 8 в 2,таблица перевода информатика,таблица перевода систем счисления,таблица перевода чисел в разные системы счисления,таблица переводов систем счисления,таблица переводов систем счисления по информатике,таблицы счисления,формула перевода системы счисления,числа в десятичной системе счисления,числа перевод,число перевести в.
На этой странице вы найдёте калькулятор, который поможет решить любой вопрос, в том числе и 10 система счисления. Просто введите задачу в окошко и нажмите «решить» здесь (например, 127 в восьмеричной системе счисления перевести в десятичную).

Решить задачу 10 система счисления вы можете на нашем сайте https://pocketteacher.ru. Бесплатный онлайн решатель позволит решить онлайн задачу любой сложности за считанные секунды. Все, что вам необходимо сделать — это просто ввести свои данные в решателе. Так же вы можете посмотреть видео инструкцию и узнать, как правильно ввести вашу задачу на нашем сайте. А если у вас остались вопросы, то вы можете задать их в чате снизу слева на странице калькулятора.

EIN4611C Глава 6

EIN4611C Глава 6

ГЛАВА 6
МАШИННОЕ ПРЕДСТАВЛЕНИЕ ДАННЫХ
НА ДРУГОЙ БАЗЕ S

Наиболее часто используемые системы счисления: двоичная, восьмеричная, десятичная и шестнадцатеричная. В двоичной системе счисления используются числа {0,1}, восьмеричная система счисления {0-7}, десятичная система счисления {0-9} и шестнадцатеричная (HEX) система счисления {0-9, A, B, C ,D,E,F}. Говорят, что эти системы счисления являются основанием чисел. В таблице А.1 указано такое представление. Ниже приведены процедуры преобразования для представления чисел в различных оснований .

A.1 ТАБЛИЦА ЧИСЕЛ

Десятичный Восьмеричный Шестнадцатеричный Двоичный
0 0 0 0000
1 1 1 0001
2 2 2 0010
3 3 3 0011
4 4 4 0100
5 5 5 0101
6 6 6 0110
7 7 7 0111
8 10 8 1000
9 11 9 1001
10 12 А 1010
11 13 Б 1011
12 14 С 1100
13 15 Д 1101
14 16 Е 1110
15 17 Ф 1111

Десятичный Восьмеричный Шестнадцатеричный Двоичный
0 0 0 0000
1 1 1 0001
2 2 2 0010
3 3 3 0011
4 4 4 0100
5 5 5 0101
6 6 6 0110
7 7 7 0111
8 10 8 1000
9 11 9 1001
10 12 А 1010
11 13 Б 1011
12 14 С 1100
13 15 Д 1101
14 16 Е 1110
15 17 Ф 1111

A. 2 ПРЕДСТАВЛЕНИЕ ЧИСЕЛ ИЗ С ОСНОВАНИЕМ 10 В ДРУГОЕ С ОСНОВАНИЕМ

Техника преобразования целого числа из с основанием 10 в другое с основанием :

Разделить число с основанием 10 на новое число с основанием , т. е. разделить на 2 при преобразовании в с основанием 2, разделить на 8 при преобразовании в с основанием 8, и т. д.

Остаток от деления на шаге 1 представляет собой цифру числа в новой базе . Эта цифра расположена слева от десятичной точки в новом числе по основанию .

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

Пример

а) Преобразование числа 105 из числа с основанием 10 в соответствующее число в с основанием 8

105(10) до ? (8)

остаток

8 105 1 105 / 8 : результат = 13, остаток = 1

8 13 5 13 / 8 : результат = 1, остаток = 5

1 1 результат 8, стоп.

Ответ: от 105(10) до 151(8)

б) преобразовать тот же номер из базы 10 база 2 .

105(10) до ? (2)

остаток
2 105 1
2 52 0
2 26 0
2 13 1
2 6 0
2 3 1
1 1

Ответ: от 105(10) до 1101001(2)

c) Аналогичным образом преобразование в с основанием 16 можно выполнить следующим образом:

105(10) до ? (2)

U>А

остаток
16 105 9
6 6

ответ: от 105(10) до 69(16)

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

Получите дробную часть и умножьте ее на новое число с основанием .

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

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

Пример

а) Преобразовать 0,15(10) в с основанием 16 .

0,15(10) = ? (16)

U>А

целое число
0 .15 х 16
2 .40 х 16
6 .40 х 16
6 . 40 х 16
6 .40

. = 0,266(16)

б) Преобразовать 0,120(10) в с основанием 8 .

0,120(10) = ? (8)

целое число
.120 х 8
0 .960 х 8
7 .680 х 8
5 .440 х 8
3 .520 х 8
4 .160 х 8
1 .280 х 8
2 .240

Answer: 0. 120(10) = 0.0753412(8)

A.3 ОБЩЕЕ ПРЕДСТАВЛЕНИЕ ЧИСЕЛ В РАЗНЫХ ОСНОВАХ S

Процедура получения десятичного представления любого числа в другом основании подчиняется следующему выражению:

Десятичное значение =

, где b — базовый номер , bi — позиционный вес, а di — позиционное значение. Левая цифра после запятой имеет позицию i = 0, значение i увеличивается до ле ft цифр, и уменьшается до правых цифр.

Пример

1101101(2) =

= 64 + 32 + 8 + 4 + 1 = 109(10)

110.11(2) =

= 4 + 2 + 0,5 + 0,25 = 6,75(10)

151(8) = = 54 + 40 + 1 = 105(10)

Таблица 3.2 Счет от 0 до 15 в десятичном и двоичном формате

Десятичный Двоичный Десятичный Двоичный
00 0000 08 1000
01 0001 09 1001
02 0010 10 1010
03 0011 11 1011
04 0100 12 1100
05 0101 13 1101
06 0110 14 1110
07 0111 15 1111

Как отмечалось ранее, компьютеры могут выполнять арифметические и логические операции с соответствующим образом закодированными данными. Основываясь на нашем обсуждении логических устройств, мы получили некоторое представление о том, какие типы логических операций могут выполняться и как можно управлять цифровыми устройствами. предназначен для выполнения таких операций. Пример 3.5 также показал нам, как логические устройства могут выполнять арифметические операции. Поскольку компьютеры основаны на бистабильных устройствах, используемая натуральная система счисления — 9.0006 двоичный ( по основанию 2 ) а не обычное десятичное число ( по основанию 10 ). Сначала мы обсудим двоичную систему счисления и двоичную арифметику, затем кратко представим другие системы счисления (шестнадцатеричную и восьмеричную), которые также полезны при работе с компьютерными системами.

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

204 =

412,05 =

Обратите внимание, что у нас есть позиций , представляющих степени числа 10 и несущих цифр веса позиции (например, 100, 101) и цифр 0,1,2 . . . 9. Умножаем символ в конкретной позиции на его цифру p позиция веса и суммы, чтобы получить десятичное число. При счете или сложении мы используем 10 цифр (0 . . . 9), а когда мы превышаем девять, мы переносим единицу на следующую позицию.

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

01001101(2) =

, где «(2)» используется для обозначения того, что это двоичное число. Поскольку 0 и 1 — это цифры, используемые в двоичной системе, их часто называют бит , аббревиатурой от b inary dig its. Крайняя левая единица в двоичном числе называется старшим значащим битом (MSB), крайняя правая цифра называется младшим значащим битом (LSB).

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

01001101(2) =

= 77(10)

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

Разделите десятичное число на 2 (двоичное основание) и запишите остаток как младший бит двоичного эквивалента. Затем разделите частное от первое деление на два и повторять до тех пор, пока частное не станет равным нулю. Например, чтобы найти двоичный эквивалент числа 29(10):

Частное Остаток
29/2 = 14 1 (младший бит)
14/2 = 7 0
7/2 = 3 1
3/2 = 0 1
1/2 = 0 1 (старший бит)
Таким образом, 29(10) = 111 01(2)

Вычтите максимально возможную степень двойки (двоичное основание) из десятичного числа и поместите 1 в соответствующую позицию веса, повторяйте, пока десятичное число не уменьшится до нуля. Если после первого вычитания следующая меньшая степень из 2 не может быть вычтено, затем поставьте 0 в соответствующую позицию взвешивания. Снова найдем двоичный эквивалент 29(10):

29- 24 = 29 — 16 = 13 1 (старший бит)
13 — 23 = 13 — 8 = 5 1
5 — 22 = 5 — 4 = 1 1
1 — 21 = (невозможно) 0
1 — 20 = 1 — 1 = 0 1 (младший бит)
Это подтверждает наш предыдущий результат: 29(10) = 11101(2).

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

и,

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

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

Мы должны всегда вычитать меньшее число из большего числа, а затем корректировать знак, например,

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

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

Двоичный номер: 110110110110(2)

Дополнение до двух: 001001001010(2)

Бит переноса и сумма: 1 000000000000(2)

Обратите внимание, что бит переноса (1) в результирующей сумме игнорируется. Таким образом, мы работаем с фиксированным количеством битов (в данном примере 12). Это похоже на одометр автомобиля. Например, если одометр имеет пять цифр и показывает 99995(10) м. iles, еще через 5 миль показание становится равным нулю. Чтобы получить дополнение до двух двоичного числа, мы сначала вычисляем дополнение до единицы путем установки каждого бита в противоположное значение, затем и единицы в дополнение до единицы, например,

Двоичный номер: 110(2)

Дополнение до единицы: 001(2)

Дополнение до двух: 010(2)

Таким образом, при фиксированном количестве двоичных разрядов используется запись с дополнением до двух, где два представляют отрицательные числа. Например, с 8-битным двоичным числом мы можем представить 28 = 256 возможных значений (от 00000000(2) до 11111111(2)). Использование двух комплементов В нотации nt мы можем представлять числа в диапазоне от +127(10) до -128(10) (см. рис. 3.10). Крайний левый бит служит битом знака, где ноль означает положительное число, а 1 означает отрицательное число. Обратите внимание, что 0(10) = 000000000(2) считается поз. итивное число.

Двоичные числа естественны для компьютеров, но очень неудобны для людей. Слишком легко сделать ошибку, а длинные последовательности двоичных цифр трудно интерпретировать. Другие системы счисления, особенно шестнадцатеричная ( по основанию 16 ) и восьмеричная ( base 8 ), обычно используются программистами. Их иногда называют сгруппированными битовыми системами счисления , поскольку группы из четырех битов легко преобразуются в две шестнадцатеричные, а группы из трех битов легко преобразуются в восьмеричные. Большинство микропроцессоров сегодня используют 8 или 16 бит, что делает группировку по 4 бита более удобной. Таким образом, шестнадцатеричная система, как правило, предпочтительнее и будет подчеркнута здесь.

Восьмеричные числа используют символы 0,1,2 . . . 7 и веса позиций цифр, которые являются степенями числа 8. Точно так же шестнадцатеричные числа используют символы 0,1,2 . . . 9 и A, B, C, D, E и F, а также веса позиций цифр, которые являются степенями 16. Числа до 23 (10) а их шестнадцатеричные, восьмеричные и двоичные эквиваленты показаны в таблице 3.3.

Таблица 3.3 Десятичные числа до 23 и их шестнадцатеричные, восьмеричные и двоичные эквиваленты

1100277 1110127 100027 1000277 1010028 В
Десятичный Гекса- десятичный Окталь Двоичный Десятичный Шестнадцатеричный- десятичный Окталь Бинарный
0 0 0 0 12 С 14 110027
1 1 1 1 13 D 15
2 2 2 10 14 Е 16 1110
3 3 3 11 15 F 17
4 4 4 100 16 10 20 10000
5 5 5 101 17 11 21
6 6 6 110 18 12 22
7 7 7 111 19 13 23
8 8 10 1000 20 14 24 10100
9 9 11 1001 21 15 25 10101
10 А 12 1010 22 16 26
по этой таблице мы можем легко преобразовать двоичные числа в 3-битных группах в их восьмеричный эквивалент, например,

Двоичный номер: 011 010 111 101

Восьмеричный эквивалент: 3 2 7 5

Таким образом, 011010111101(2) = 3275(8). Точно так же, используя 4-битные группировки, мы можем преобразовать в шестнадцатеричный,

Двоичный номер: 0110 1011 1101

Шестнадцатеричный эквивалент: 6 B D

Таким образом, 011010111101(2) = 6BD(16). Основные методы и концепции, описанные для двоичных чисел в отношении преобразования, отрицательных чисел и арифметики, также применимы к восьмеричным и шестнадцатеричным числам. Они проиллюстрированы для шестнадцатеричных чисел на экзамене. ples, которые следуют.

Пример 3.6 Преобразование десятичных и шестнадцатеричных чисел

Сначала мы оцениваем десятичный эквивалент 19AF(16).

19AF(16) =

=

= 6575(10)

Теперь преобразуем десятичное число 29(10) в шестнадцатеричное методом деления.

Частное Остаток
29/16 = 1 13(10) = D(16) (LSD)
1/16 = 0 1(10) = 1(16) (МСД)
таким образом, 29(10) = 1D(16). Подтвердите этот результат, вычитая степени основания.

Пример 3.7 Шестнадцатеричное сложение

Здесь приведены два примера.

и,

Пример 3.8 Шестнадцатеричное вычитание

Мы можем обрабатывать отрицательные числа и вычитание, используя дополнение до 16 шестнадцатеричного числа. Например, чтобы вычесть 86B(16) из A94(16), мы добавляем дополнение 16 к 86B( 16) до A94(16). Дополнение до 16 для 86B(16) получается путем получения дополнения до 15 для 86B(16) с последующим добавлением единицы. Дополнение до 15 получается вычитанием каждой цифры из 15, например,

15-е дополнение к 86B(16) = 794(16)

Дополнение 16 к 86B(16) = 795(16)

А94(16) 86В(16) = А94(16) + 795(16) = 1229(16)

Пренебрегая переносом, получаем результат 229(16). Проверьте этот результат прямым шестнадцатеричным вычитанием.

3.4 ОБЗОР

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

Сначала мы представили основные логические элементы (то есть И, ИЛИ, исключающее ИЛИ, НЕ и EQ) и булевую алгебру. Затем эти вентили использовались для иллюстрации некоторых простых цифровых логических схем (например, триггеров, регистров и счетчиков).

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


Вернуться на титульную страницу Перейти к предыдущей главе Перейти к следующей главе
Этот документ HTML был создан GT_HTML 6.0d 23.01.97 14:19.

4.16 — Системы счисления (десятичная, двоичная, шестнадцатеричная и восьмеричная) — Learn C++

Алекс

Примечание автора

Этот урок является необязательным.

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

В повседневной жизни мы считаем десятичными числами, где каждая числовая цифра может быть 0, 1, 2, 3, 4, 5, 6, 7, 8 или 9. 10 возможных цифр (от 0 до 9). В этой системе мы считаем так: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, … По умолчанию числа в программах на C++ считаются десятичными.

 целое число х { 12 }; // Предполагается, что 12 является десятичным числом 

В двоичном коде всего 2 цифры: 0 и 1, поэтому он называется «основание 2». В двоичном формате мы считаем так: 0, 1, 10, 11, 100, 101, 110, 111, …

Десятичная и двоичная — два примера систем счисления, которые представляют собой причудливое название для набора символов (например, цифр). ) используется для представления чисел. В C++ доступны 4 основные системы счисления. В порядке популярности это: десятичная (основание 10), двоичная (основание 2), шестнадцатеричная (основание 16) и восьмеричная (основание 8).

Восьмеричные и шестнадцатеричные литералы

Восьмеричное число — это основание 8, т. е. доступны только следующие цифры: 0, 1, 2, 3, 4, 5, 6 и 7. В восьмеричном исчислении мы считаем так: 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, … (примечание: нет 8 и 9, поэтому мы пропускаем от 7 до 10).

Decimal 0 1 2 3 4 5 6 7 8 9 10 11
Octal 0 1 2 3 4 5 6 7 10 11 12 13

To use an octal literal, prefix ваш литерал с 0 (нулем):

 #include 
основной ()
{
    интервал х{012}; // 0 перед числом означает, что это восьмеричное число
    std::cout << x << '\n';
    вернуть 0;
} 

Эта программа печатает:

 10
 

Почему 10 вместо 12? Поскольку по умолчанию числа выводятся в десятичном формате, а 12 восьмеричных = 10 десятичных.

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

Шестнадцатеричный код — это основание 16. В шестнадцатеричном формате мы считаем так: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11. , 12,…

Десятиц 0 1 2 3 4 5 6 7 7 6 777777777777777777777777777777777777777777777 7.0028 9 10 11 12 13 14 15 16 17
Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11

To use a hexadecimal literal, prefix your literal с 0х.

 #include 
основной ()
{
    интервал х{0xF}; // 0x перед числом означает, что оно шестнадцатеричное
    std::cout << x << '\n';
    вернуть 0;
} 

Эта программа печатает:

 15
 

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

Рассмотрим 32-битное целое число со значением 0011 1010 0111 1111 1001 1000 0010 0110. Из-за длины и повторения цифр его нелегко прочитать. В шестнадцатеричном формате это же значение будет: 3A7F 9826, что намного короче. По этой причине шестнадцатеричные значения часто используются для представления адресов памяти или необработанных данных в памяти (тип которых неизвестен).

Двоичные литералы и разделители цифр

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

 #include 
основной ()
{
    целая корзина {}; // предположим, что это 16-битные целые числа
    бин = 0x0001; // присваиваем переменной двоичный код 0000 0000 0000 0001
    бин = 0x0002; // присваиваем переменной двоичный код 0000 0000 0000 0010
    бин = 0x0004; // присваиваем переменной двоичный код 0000 0000 0000 0100
    бин = 0x0008; // присваиваем переменной двоичный код 0000 0000 0000 1000
    бин = 0x0010; // присваиваем переменной двоичный код 0000 0000 0001 0000
    бин = 0x0020; // присваиваем переменной двоичный код 0000 0000 0010 0000
    бин = 0x0040; // присваиваем переменной двоичный код 0000 0000 0100 0000
    бин = 0x0080; // присваиваем переменной двоичный код 0000 0000 1000 0000
    бин = 0x00FF; // присваиваем переменной двоичный код 0000 0000 1111 1111
    бин = 0x00B3; // присваиваем переменной двоичный код 0000 0000 1011 0011
    бин = 0xF770; // присваиваем переменной двоичный код 1111 0111 0111 0000
    вернуть 0;
} 

В C++14 мы можем использовать бинарные литералы, используя префикс 0b:

 #include 
основной ()
{
    целая корзина {}; // предположим, что это 16-битные целые числа
    бин = 0b1; // присваиваем переменной двоичный код 0000 0000 0000 0001
    бин = 0b11; // присваиваем переменной двоичный код 0000 0000 0000 0011
    бин = 0b1010; // присваиваем переменной двоичный код 0000 0000 0000 1010
    бин = 0b11110000; // присваиваем переменной двоичный код 0000 0000 1111 0000
    вернуть 0;
} 

Поскольку длинные литералы трудно читать, в C++14 также добавлена ​​возможность использовать кавычки (‘) в качестве разделителя цифр.

 #include 
основной ()
{
    интервал бен {0b1011'0010}; // присваиваем переменной двоичный код 1011 0010
    длинное значение {2'132'673'462}; // намного легче читать, чем 2132673462
    вернуть 0;
} 

Также обратите внимание, что разделитель не может стоять перед первой цифрой значения:

 int bin { 0b'1011'0010 }; // ошибка: ' используется перед первой цифрой значения 

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

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

По умолчанию C++ выводит значения в десятичном формате. Однако вы можете изменить формат вывода с помощью манипуляторов ввода-вывода std::dec , std::oct и std::hex :

 #include 
основной ()
{
    интервал х {12};
    std::cout << x << '\n'; // десятичный (по умолчанию)
    std::cout << std::hex << x << '\n'; // шестнадцатеричный
    std::cout << x << '\n'; // теперь шестнадцатеричный
    std::cout << std::oct << x << '\n'; // восьмеричный
    std::cout << std::dec << x << '\n'; // возвращаемся к десятичной системе
    std::cout << x << '\n'; // десятичный
    вернуть 0;
} 

Это печатает:

 12
с
с
14
12
12
 

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

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

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