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.
Покажу, как это делается, разобрав число 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.
Serial.println(256, BIN) // вывод в двоичном формате
Serial.println(256, HEX) // вывод в шестнадцатиричном формате
Serial.println(256, OCT) // вывод в восьмиричном формате
Serial.println(256, HEX) // вывод в шестнадцатиричном формате
Serial.println(256, OCT) // вывод в восьмиричном формате
Похожие вопросы
- Почему в школах начинают информатику учить с систем счисления? Это все равно что в 1 классе заставить интегралы учить.
- Для знающих: как рассчитали максимум видимости оперативной памяти для 32- и 64-разрядных систем? На примере Windows.
- Как Создать иерархическую систему классов, на примере этого задания? Второй день уже туплю, помогите пожалуйста... С++
- Как перемножить два числа в 16-битной системе, чтобы на выходе получилось большое 32-битное или 64-битное число?
- Почему команды уровня операционной системы выполняются сразу же микроархитектурой а не операционной системой?
- Возможно ли на C++ написать операционную систему, и чем C++ в этом отличается от C?
- В системе координат заданы 4 точки. Выяснить, в каких случаях они могут образовать квадрат.
- 12-и, 6-и, 10-и значная система.
- На что следует обращать внимание при разработке крупной системы на чистом Си?
- Проблема в операционной системе телефона