Автор Парикмахер сервис задал вопрос в разделе Другие языки и технологии
Алгоритмы перевода чисел из одной системы счисления в другую, арифметика в различных системах счисления и получил лучший ответ
Ответ от Алекс Куха[гуру]
Никак не въеду, зачем людей мучают темой перевода. Не могу себе представить, где на практике может понадобиться умение делать перевод из 3х разрядной в 17и разрядную (и тем более арифметику). В жизни их всего 3, причём 8иричная становится анахронизмом, 16иричная лишь короткая запись бинарной и используется для сокращения в иллюстративном контексте. Неужели других тем преподы не могут придумать. Мало того, что алгоритмов великое множество, так и сам смысл в разборке чужого представляется сомнительным. Надо вперёд двигаться, а не тормозить на уже сделанном. Зачем изучать то, что даже в компе не используется, где смысл?
Источник: ru.wikipedia.org/wiki/Список_алгоритмов
Sasha Programmer
Мыслитель
(5429)
А что по-вашему нужно заочникам?
Вот видео на эту тему:
А вот статьи:
===
Алгоритмы перевода чисел из одной системы в другую.
В программировании используются три системы счисления: двоичная, десятичная и шестнадцатеричная.
Поэтому, должно быть пять алгоритмов перехода:
1. Из двоичной в десятичную;
2. Из двоичной в шестнадцатеричную;
3. Из десятичной в двоичную;
4. Из десятеричной в шестнадцатеричную;
5. Из шестнадцатеричной в двоичную;
6. Из шестнадцатеричной в десятичную.
Теперь, сами алгоритмы:
1. Допустим есть число в двоичной системе исчисления:
1010. Его нужно перевести в десятичную.
Нужно умножить поразрядно каждую цифру на основание в степени разряда. Какое основание в двоичной системе? Ответ: два. Основание определили. Теперь, как
это умножить на степень разряда? Разряды в числе считаются справа налево. Т. е. в числе 1010 это 0-первый разряд, 1-второй, 0-третий, 1-четвёртый. Как это
выглядит? 0*2^0 + 1*2^1 + 0*2^2 + 1*2^3 = 0 + 2 + 0 + 8 = 10. Т. е. 1010 в двоичной системе = 10 в десятеричной.
2. Перевести из двоичной в шестнадцатеричную.
1110. Число уже другое. Не 1010.
Точно так же.
0*2^0 + 1*2^1 + 1*2^2 + 1*2^2 = 0 + 2 + 4 + 8 = E
3. Нужно перевести из десятичной системы в двоичную.
Есть число 15. Нужно перевести в двоичную систему. Алгоритм такой:
Делим 15 и (12) на два и остаток записываем.
15 / 2 = 7 (и остаток 1)12 / 2 = 6 (и остаток 0)
7 / 2 = 3 (и остаток 1)6 / 2 = 3 (и остаток 0)
3 / 2 = 1 (и остаток 1)3 / 2 = 1 (и остаток 1)
1 / 2 = 0 (и остаток 1)1 / 2 = 0 (и остаток 1)
Записываем остатки 1111Записываем остатки 1100
Остатки записываются снизу вверх.
4. Теперь нужно перевести из десятичной системы в шестнадцатеричную.
Есть число 68 и 157 в десятичной системе.
68 / 16 = 4 (и остаток 4)157 / 16 = 9 (и остаток 13 или D (D=13))
4 / 16 = 0 (и остаток 4)9 / 16 = 0 (и остаток 9)
Записываем остатки 44.Записываем 9D
5. Теперь осталась только шестнадцатеричная система счисления.
Как из неё переводить числа? Допустим 157 и 8FD нужно перевести в двоичную систему. Это самый простой алгоритм из перечисленных. Для перевода нужно
каждую цифру заменяем её эквивалентом в двоичной системе. Как расчитать эквивалент? Нужно помнить, что на каждую цифру из шестнадцатеричной системы
приходится четыре цифры в двоичной. Например, 7 это 0111 или F (т. е. 15) это 1111 или D (т. е. 13) это 1101
Т. е. цифры 1, 5 и 7 это 0001, 0101 и 0111. А вместе это 157 и 000101010111
Или 8, F и D это 1000, 1111 и 1101 А вместе это 8FD и 100011111101
6. Последний алгоритм это из шестнадцатеричной ситстемы перевести в десятичную.
Например 157 и 8FD Нужно перевести в 10-тичную.
Нужно перевести цифры в десятичную систему, потому умножить их на основание шестнадцатеричной системы (*16) в степени разряда цифры. Например, число 157
7*16^0 + 5*16^1 + 1*16^2 = 7*1 + 5*16 + 1*256 = 343
Или число 8FD нужно перевести в десятичную систему, тогда
D(13)*16^0 + F(15)*16^1 + 8(8)*16^2 = 13*1 + 15*16 + 8*256 = 2301
как перевести двоичное число 1001110 в десятичную систему счисления
А вот так понятнее: 1001110=
1) проставь над каждой цифрой числа справо на лево двойки со
подробнее...
Переведите число 111 из десятичной системы счисления в двоичную систему счисления.
Надо делить число в десятичной форме на численное значение основания системы счисления. Т. е. если
подробнее...
как перевести число 28,375 из десятичной системы счисления в двоичную систему счисления?
Преобразование дробных десятичных чисел в двоичные
Перевод дробного числа из десятичной
подробнее...
Перевод из десятичной в двоичную систему счисления.
Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему
подробнее...
как переводить ДРОБНЫЕ числа из десятичной системы счисления в двоичную?
Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему
подробнее...
Переведите пжста число из десятичной системы счисления в двоичную!число 64,488???
Сначала переводим целую часть (после черты остатки от деления) :
64:2=32|0
32:2=16|0
подробнее...
как перевести число из двоичной системы счисления в десятичную
Задача перевода чисел из двоичной системы счисления в десятичную чаще всего возникает уже при
подробнее...
системы счисления перевод дробных чисел в двоичную систему счисления
Перевод дробного числа из двоичной системы счисления в десятичную производится по следующей схеме:
подробнее...
как перевести из восьмеричной СС в двоичную?
В восьмеричной системе исчисления нет таких цифр.
А в шестнадцатеричной - есть.
0 0
подробнее...
Как десятичную дробь перевести в обыкновенную....объясните пожалста, вот пример: 8,2
8,2 - сначала десятичную дробь надо назвать: восемь целых и ДВЕ ДЕСЯТЫХ - так и пишем: 8 2/10,
подробнее...
переведите десятичное число {112} В ДВОИЧНУЮ СИСТЕМУ СЧИСЛЕНИЯ
нуль нуль нуль один, нуль нуль нуль один, нуль нуль один
подробнее...
как перевести число 10011101 в двоичной системе в десятичную
Задача перевода чисел из двоичной системы счисления в десятичную чаще всего возникает уже при
подробнее...