ios中浮点数浅谈
1.看图说话,很奇怪,为什么我写的浮点数变了,是不是程序出错了?并不是。原因是计算机中存储float和double数据时,整数和小数部分分别转为二进制表示
2.5,在内存中32位的存储结果为
1100 0000 0010 0000 0000 0000 0000 0000
但如果是2.6呢?小数部分会表示为1001 1001 1001 1001 1001 1001 1001 1001,1001的无限循环,但存储位数是有限的,超出部分不得不被舍弃掉,就造成了精度丢失!
所以说浮点数是无法精确表示大部分实数的。在遇到浮点数计算时一定要注意啊!