Другие языки программирования и технологии
как переводить числа в 2-чную, 8 и 16ричную системы счисления?
если разово- в калькуляторе win переключаешься в режим программирование, вводишь число, сразу получаешь и двоичное и шестнадцатеричное и какое угодно
Оценил. 1ричная система, это уже не круто
Брать степени основания нужной системы счисления, делить на них исходное число, записывать результат.
Для примера возьмём степени восьмёрки: 512-64-8
Допустим, нам дано число меньше, чем 4096 (просто, это уже следующая степень восьмёрки). Возьмём для примера 1172
Теперь будем делить это число последовательно на те числа, которые я привёл.
Сначала на 512. Получим 2. Значит первая цифра 2.
Теперь нужно вычесть 2x512 из нашего числа. Получается 148
Теперь делим на 64. Получается 2. Значит, вторая цифра тоже 2.
Вычитаем 2x64, получается 20
Дальше делим на 8. Получается 2. Честно, число наобум выбирал.
Вычитаем 2x8 из 20, остаётся 4. Так как 4 меньше восьмёрки, её записываем как есть. Получили число 2224 в восьмеричной системе счисления.
То же самое для шестнадцатеричной системы. Берём степени 16:
4096-256-16
Так как число меньше, чем 4096, значит этого разряда у нас не будет. Делим сразу на 256.
Получаем 4. Вычитаем 1024, получаем 148, как и в тот раз. Но нам осталось разделить только на 16, поэтому делим. Получается 9. И остаток 4, который на 16 уже нет смысла делить.
Значит результат — 494
Тут нюанс: не стоит забывать, что в шестнадцатеричной системе можно записывать цифры вплоть до 15. Поэтому, если результат деления нацело равен 11, то записываем цифру B, а не "11".
С двоичной тоже всё просто. Только возьмём число поменьше. Пускай, это 27.
Степени двойки, которые меньше, чем 27, — это 16-8-4-2
Значит, делим 27 на все эти числа поочерёдно, вычитая их после деления.
27/16 = 1
27-16*1 = 9
9/8 = 1
9-8*1 = 1
1 меньше четвёрки и меньше двойки, поэтому на месте и того и другого запишем по нулю! Не просто пропустим, а запишем ноль. В предыдущих примерах тоже так было бы, если бы очередное число оказалось меньше, чем то, на что его нужно поделить. Нужно помнить, что сколько в ряду степеней чисел, которые меньше данного нам числа, столько и будет цифр в ответе. Правда, я во всех этих рядах не писал единицу, кторая представляет собой любое число в нулевой степени, поэтому у меня ряд на единицу короче, чем надо. На самом деле нулевая степень нам нужна, поэтому 512-64-8-1 и так далее.
Вернёмся к числу. Оставшуюся единицу, не выкидываем, а запишем после двух получившихся нолей.
Итого у нас получилось 11001 в двоичной системе. Легко проверить сложением: 1001 — это 9. Однёрка на 5-м месте справа — это 16. Сумма 9 и 16 даёт то, что было изначально.
Для примера возьмём степени восьмёрки: 512-64-8
Допустим, нам дано число меньше, чем 4096 (просто, это уже следующая степень восьмёрки). Возьмём для примера 1172
Теперь будем делить это число последовательно на те числа, которые я привёл.
Сначала на 512. Получим 2. Значит первая цифра 2.
Теперь нужно вычесть 2x512 из нашего числа. Получается 148
Теперь делим на 64. Получается 2. Значит, вторая цифра тоже 2.
Вычитаем 2x64, получается 20
Дальше делим на 8. Получается 2. Честно, число наобум выбирал.
Вычитаем 2x8 из 20, остаётся 4. Так как 4 меньше восьмёрки, её записываем как есть. Получили число 2224 в восьмеричной системе счисления.
То же самое для шестнадцатеричной системы. Берём степени 16:
4096-256-16
Так как число меньше, чем 4096, значит этого разряда у нас не будет. Делим сразу на 256.
Получаем 4. Вычитаем 1024, получаем 148, как и в тот раз. Но нам осталось разделить только на 16, поэтому делим. Получается 9. И остаток 4, который на 16 уже нет смысла делить.
Значит результат — 494
Тут нюанс: не стоит забывать, что в шестнадцатеричной системе можно записывать цифры вплоть до 15. Поэтому, если результат деления нацело равен 11, то записываем цифру B, а не "11".
С двоичной тоже всё просто. Только возьмём число поменьше. Пускай, это 27.
Степени двойки, которые меньше, чем 27, — это 16-8-4-2
Значит, делим 27 на все эти числа поочерёдно, вычитая их после деления.
27/16 = 1
27-16*1 = 9
9/8 = 1
9-8*1 = 1
1 меньше четвёрки и меньше двойки, поэтому на месте и того и другого запишем по нулю! Не просто пропустим, а запишем ноль. В предыдущих примерах тоже так было бы, если бы очередное число оказалось меньше, чем то, на что его нужно поделить. Нужно помнить, что сколько в ряду степеней чисел, которые меньше данного нам числа, столько и будет цифр в ответе. Правда, я во всех этих рядах не писал единицу, кторая представляет собой любое число в нулевой степени, поэтому у меня ряд на единицу короче, чем надо. На самом деле нулевая степень нам нужна, поэтому 512-64-8-1 и так далее.
Вернёмся к числу. Оставшуюся единицу, не выкидываем, а запишем после двух получившихся нолей.
Итого у нас получилось 11001 в двоичной системе. Легко проверить сложением: 1001 — это 9. Однёрка на 5-м месте справа — это 16. Сумма 9 и 16 даёт то, что было изначально.
Похожие вопросы
- Как перевести из 16-и ричной системы любое число в 2-ую, 8-ую и 10-ую системы счисления?
- Вопрос как к математикам так и к программистам...имеем числа 1,2,4,8,16,32,64,128имеем какое либо число, скажем 130
- как переводить из 16-ную в 10-чную из 10-чную в 16-чную систему счисления на ассемблере без калькулятора
- аскаль. Написать программу которая переводит число из одной системы счисления в другую
- Переведите число 111 из десятичной системы счисления в двоичную систему счисления.
- Число 10 (в десятичной системе счисления) в двоичной системе счисления имеет вид???
- Помогите перевести числа в разные системы счисления. HELP!!!
- помогите с составлением таблицы умножения в 12-чной системе счисления
- перевод чисел в двоичную,восьмеричную системы счисления
- на что классифицируются системы счисления по способу изображения чисел?