шестнадцатеричный восьмеричный двоичный с плавающей запятой

Я работаю над калькулятором, который позволяет выполнять вычисления после десятичной точки в восьмеричном, шестнадцатеричном, двоичном и, конечно же, десятичном виде. У меня возникли проблемы с поиском способа преобразования десятичных чисел с плавающей запятой в шестнадцатеричные, восьмеричные, двоичные числа с плавающей запятой и наоборот.

План состоит в том, чтобы выполнить всю математику в десятичной системе счисления, а затем преобразовать результат в соответствующую систему счисления. Буду признателен за любую помощь, идеи или примеры.

Спасибо!


person user37875    schedule 27.11.2008    source источник


Ответы (3)


Хм... это было домашнее задание в моем университетском курсе компьютерных наук "от сорняков".

Операции с двоичными числами описаны в Schaum's Outline Series: Essential Computer Mathematics Сеймура Липшуца. По какой-то причине она до сих пор стоит на моей книжной полке 23 года спустя.

Как подсказка, преобразуйте восьмеричные и шестнадцатеричные числа в двоичные, выполните операции, преобразуйте обратно в двоичные.

Или вы можете выполнять десятичные операции и затем выполнять преобразования в восьмеричные/шестнадцатеричные/двоичные числа. Этот процесс практически одинаков для всех позиционных систем счисления.

person Ken Gentle    schedule 27.11.2008

Какой язык программирования вы используете? это определенно хорошая идея преобразовать все в двоичный файл, сделать математику в двоичном файле, а затем преобразовать обратно. если вы умножаете двоичное число (unsigneD) на 2, ti будет таким же, как сдвиг битов влево ( ‹‹ 1 в C), деление на 2 будет таким же, как сдвиг битов вправо (>> в C). сложение и вычитание такие же, как в начальной школе.

также помните, что если вы присвоите float как int, оно будет усечено int(10.5) = 10;

person Community    schedule 27.11.2008

У меня была такая же проблема несколько дней назад. Я нашел http://www.binaryconvert.com, который позволяет выполнять преобразование между десятичными, двоичными и восьмеричное и шестнадцатеричное в любом порядке.

person Community    schedule 18.01.2009