lin*_*nes 9 c++ fixed-point
我正在用C++编写一个小型RTS引擎,并希望使用锁步同步.
由于浮点确定性是我甚至无法实现的,我必须使用定点数学.
确定性地(在不同的编译器和cpus上)是如何定义无符号整数的典型操作的?
我对分工特别感兴趣,因为这会导致四舍五入.
小智 5
基本整数类型的大小因平台而异.您可以通过使用uint32_t和类似的类型来避免此问题.
uint32_t
有符号整数溢出是未定义的行为,尽管溢出是为无符号整数类型定义的(你做算术模数2^N).即使如此,你还要注意它,因为模数运算通常不是你想要做的.
2^N
我相信这个标准曾经一度打开了究竟如何划分(虽然我不确定"积极/积极"是否会被打开).但我认为现在已经标准化了,即使没有,向0走向几乎是普遍的.
但你可以numeric_limits用来检查.如果要相信这个文档,标准确实保证向零舍入.
numeric_limits
归档时间:
10 年,9 月 前
查看次数:
660 次
最近记录: