新浮点数

时间:2013-11-26 22:38:00

标签: c++

我想创建一个大小为128位的新浮点类型,指数将有4个字节(32位),分数将有12个字节(96位),我怎么能做到这一点输入c ++,我可以输入,输出,+, - ,*,/操作。

[我正在考虑c ++类,但我无法想象我将如何在指数和具有指定长度的分数之间进行管理]

我尝试过“bitset”std类,但与我需要的东西相比,它有一个巨大的尺寸,例如“std :: bitset< 16> foo;”给出8字节的大小。

任何建议!

1 个答案:

答案 0 :(得分:1)

您必须构建自己的数据类型并实现您要对其执行的所有操作。这正是当架构仅支持32位数据本机时编译器如何模拟64位数据集的方式。

所以具有两个成员的类/结构是正确的起点。你现在必须实现基本操作:+, - ,*,/。添加和子很容易,你需要更加注意*和/。我可以告诉你的是,通常编译使用重复的添加和子操作来实现这些。