相关疑难解决方法(0)

为什么浮点数不准确?

为什么有些数字在存储为浮点数时会失去准确性?

例如,十进制数9.2可以精确地表示为两个十进制整数(92/10)的比率,两者都可以用二进制(0b1011100/0b1010)精确表示.但是,存储为浮点数的相同比率永远不会完全等于9.2:

32-bit "single precision" float: 9.19999980926513671875
64-bit "double precision" float: 9.199999999999999289457264239899814128875732421875
Run Code Online (Sandbox Code Playgroud)

这样一个看似简单的数字如何在64位内存中表达"太大" ?

language-agnostic floating-point precision

181
推荐指数
4
解决办法
3万
查看次数

负数的奇怪Objective-C Mod行为

所以我认为负数,当mod'ed应该被放入正空间...我不能让这发生在objective-c

我期待这个:

-1 % 3 = 2
 0 % 3 = 0
 1 % 3 = 1
 2 % 3 = 2
Run Code Online (Sandbox Code Playgroud)

但得到这个

-1 % 3 = -1
 0 % 3 = 0
 1 % 3 = 1
 2 % 3 = 2
Run Code Online (Sandbox Code Playgroud)

为什么会这样,是否有解决方法?

objective-c modulo

42
推荐指数
5
解决办法
3万
查看次数