【发布时间】:2008-11-27 19:04:32
【问题描述】:
我正在开发一个计算器,它允许您以八进制、十六进制、二进制,当然还有十进制执行小数点后的计算。尽管找到一种将浮点十进制数转换为浮点十六进制、八进制、二进制(反之亦然)的方法,但我遇到了麻烦。
计划是以十进制进行所有数学运算,然后将结果转换为适当的数字系统。任何帮助、想法或示例将不胜感激。
谢谢!
【问题讨论】:
标签: binary floating-point hex calculator octal
我正在开发一个计算器,它允许您以八进制、十六进制、二进制,当然还有十进制执行小数点后的计算。尽管找到一种将浮点十进制数转换为浮点十六进制、八进制、二进制(反之亦然)的方法,但我遇到了麻烦。
计划是以十进制进行所有数学运算,然后将结果转换为适当的数字系统。任何帮助、想法或示例将不胜感激。
谢谢!
【问题讨论】:
标签: binary floating-point hex calculator octal
嗯...这是我的大学计算机科学“淘汰”课程中的家庭作业。
二进制操作在 Seymour Lipschutz 的 Schaum 大纲系列:基本计算机数学中进行了描述。不知为何,23 年后它还在我的书架上。
作为提示,将八进制和十六进制转换为二进制,执行操作,再转换回二进制。
或者您可以执行十进制运算并在之后执行八进制/十六进制/二进制的转换。对于所有位置数字系统算术,该过程基本相同。
【讨论】:
您使用的是什么编程语言? 将所有内容更改为二进制绝对是一个好主意,对二进制进行数学运算然后再转换回来。如果将(无符号)二进制数乘以 2,则 ti 与左移(C 中的 >)相同。 加减法和小学一样。
另外,请记住,如果您将浮点数转换为 int,它将截断它 int(10.5) = 10;
【讨论】:
几天前我遇到了同样的问题。我找到了http://www.binaryconvert.com,它允许您以任意顺序在浮点十进制、二进制、八进制和十六进制之间进行转换。
【讨论】: