C/C++

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

Десятичные числа: 256, 512, 1024 и 2048 перевести в 2-ю, 8-ю и 16-ю системы счисления
Можно разобрать десятичное число на цифры любой системы счисления.
Покажу, как это делается, разобрав число 250 на десятичные цифры.

Делим число в столбик на 10 (на основание целевой системы счисления):

250 / 10 = 25, остаток 0
25 / 10 = 2, остаток 5
2 / 10 = 0, остаток 2

Записываем цифры остатков в обратном порядке и получаем 250.

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

Например, для числа 250 в 16-ричной системе.
Не забываем, что в этой системе 16 цифр:
0123456789ABCDEF
A=10, B=11, …, F=15

Итак:
250 / 16 = 15, остаток 10 (соответствует 16-ричной цифре A)
15 / 16 = 0, остаток 15 (соответствует 16-ричной цифре F)

Записываем цифры остатков в обратном порядке: FA.

Теперь для восьмеричной системы, где цифры от 0 до 7:
250 / 8 = 31, остаток 2
31 / 8 = 3, остаток 7
3 / 8 = 0, остаток 3

С конца выходит 372.

А вот то же самое в двоичной системе, где есть только 0 и 1:
250 / 2 = 125, остаток 0
125 / 2 = 62, остаток 1
62 / 2 = 31, остаток 0
31 / 2 = 15, остаток 1
15 / 2 = 7, остаток 1
7 / 2 = 3, остаток 1
3 / 2 = 1, остаток 1
1 / 2 = 0, остаток 1

С конца выходит 11111010.
Куаныш Мамбетов
Куаныш Мамбетов
88 949
Лучший ответ
Serial.println(256, BIN) // вывод в двоичном формате
Serial.println(256, HEX) // вывод в шестнадцатиричном формате
Serial.println(256, OCT) // вывод в восьмиричном формате
Vardan Khanfеryan
Vardan Khanfеryan
2 807

Похожие вопросы