我正在研究一种计算器,它允许您以八进制,十六进制,二进制和十进制的小数点执行计算。我找到一种方法将浮点十进制数转换为浮点十六进制,八进制,二进制,反之亦然,我遇到了麻烦。
计划是以十进制进行所有数学运算,然后将结果转换为适当的数字系统。任何帮助,想法或例子将不胜感激。
谢谢!
答案 0 :(得分:2)
嗯......这是我的大学的CS“weed-out”课程中的家庭作业。
二元的操作在Seymour Lipschutz的 Schaum的大纲系列:基本计算机数学中有描述。出于某种原因,23年后它仍然在我的书架上。
作为提示,将八进制和十六进制转换为二进制,执行操作,转换回二进制。
或者您可以执行十进制操作并在之后执行转换为八进制/十六进制/二进制。对于所有位置数系统算法,该过程基本相同。
答案 1 :(得分:1)
您使用的是哪种编程语言? 绝对是一个好主意,将所有内容更改为二进制文件,然后将二进制数据转换回来。如果将(unsigneD)二进制数乘以2,则ti与左移位(<< 1)相同,除以2与Bit shit Right(>>在C中)相同)。 加法和减法与你在小学时的做法相同。
另外,请记住,如果将一个浮点数转换为int,则会将其截断为int(10.5)= 10;
答案 2 :(得分:0)
几天前我遇到了同样的问题。我发现http://www.binaryconvert.com,它允许您以任何您想要的顺序在浮点十进制,二进制,八进制和十六进制之间进行转换。