码迷,mamicode.com
首页 > 其他好文 > 详细

012.Bug(-精度丢失-)_02

时间:2015-08-12 06:38:41      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:

情景:服务器返回时间戳,客户端根据时间戳计算出对应的日期,运行在5s、6、6+上都ok,偶然跑在4s上结果显示不同于之前的显示,后尝试跑在iPad 2上异常犹在,跑在iPad air上又是正常的

错误分析:每次跑在对应的机型上结果都一样,想到可能和机型有绝对关系。突然想到了和32位和64位的异同,查阅了资料,得到如下结果:

<1.iPhone从5s(5没有查,官网上没有,以后都按long long给值即可)开始,才是64位的。

<2.在32位机子上,long不小于int的精度,具体要看其他情况,这里情况是long等于int的精度(所以在32位的机子上存储时间戳必须要用long long),所以发生了精度的丢失,在64位的机子上long long才是long long的。

错误启示:操作数据的时候要考虑到精度和数据的类型所能表示的精度范围

  

012.Bug(-精度丢失-)_02

标签:

原文地址:http://www.cnblogs.com/juicecoffeetea/p/4722870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!