Другие языки программирования и технологии

Архитектура ЭВМ

Десятичные числа : 7134,91 ; 2850,55 ; 4793,22 перевести в 16-ричную систему счисления .Затем от 16-ричного числа перейти к двоичному числу , а от двоичного числа перейти к восьмеричному числу . Для выполнение этого задания необходимо выполнить алгоритм : число в 10 СС перевести в 16 СС представить в 2 СС перейти к 8 СС
В чём проблема?
Можно решать разными способами. Использовать циклы со счётчиками - разрядными накопителями.
В цикле вычитаешь единицу младшего разряда, плюсуешь в младший разряд другой СС.
Дробь распознаётся отдельно, вычитаются (для 16 СС) в цикле 1/16 (с добавлением 1 в старший разряд дроби) пока не станет отрицательной, затем шаг назад (и из разряда счётчика вычесть 1), затем такой же цикл с вычитанием 1/256, затем 1/(16*16*16).
пока разрядная сетка не истощится.
Можно для 16 и 8 СС сразу использовать битовое представление чисел в машине.
Преобразуешь в двоичный вид, а потом от запятой отщелкиваешь по 4 или 1 или 3 бита с циклическим сдвигом влево или вправо.
Однако если с целыми это легко, то с дробями надо знать и на каком языке пишешь, там разная архитектура.
Числа с фиксированной запятой есть не во всех языках, а с плавающей - разные форматы в каждом языке.
Прикинь на виндовском калькуляторе, что к чему.
Можно, зная форматы вывода просто распечатать числа (может это требуется? )
А если серьёзно, и строковом виде на входе - то запрограммируй подпрограммку-сумматор с параметрами СС1 и СС2.
В качестве регистров данных массивы разрядных переменных (сумматоров) . При распечатке цифры надо использовать -массивы букв-цифр.
В общем надо вначале задаться в каком формате (строковом, плавающем, фиксированном) у тебя будет ввод,
какие форматы внутреннего хранения (строковые или числовые) . Затем как преобразовать в цепочку битов, ну и так далее.
Возможности универсального (для любых больших и малых чисел) сильно зависят от машины и языка.
Ты же по заданию можешь ограничить 4 разряда целых +2 разряда дробных. Или чуть больше, потому что дроби будут неточными, если назад преобразовать. .
Ilja Frolov
Ilja Frolov
70 042
Лучший ответ
Вообще-то для таких не круглых чисел надо указывать число разрядов для систем исчисления кратных 2

"и ?" - это кому? :)
Sascha Samat
Sascha Samat
76 473
ответ удален
Вова Мешков
Вова Мешков
56 178
и ?
это можно сделать в обычном виндовском калькуляторе. переведи его в программерский вид и он сам тебе все переведет :)
есть в интернете специальные прогрыаммы для это го не поленись поищи