1234567.875 ?float 有 32 位, 指数位为 8, 尾数为23...">
美文网首页
NSString floatValue 精度问题

NSString floatValue 精度问题

作者: RYANIM | 来源:发表于2018-01-18 12:06 被阅读55次

    @"1234567.83" => 1234567.875 ?
    float 有 32 位, 指数位为 8, 尾数为23, 符号 1位.
    [图片上传中...(2492650-c9b9b53c2a108d3e.gif-b89e30-1516248262770-0)」

    指数范围 -127~128
    尾数 24bit (默认隐藏首位 1)
    符号 0~1

    精度取决于 尾数了.
    如果要保留两位小数的精度, 需要耗费 7 bit (2^7 > 100). 剩下 15 位(2^15 -1) 32,767 . 超过 这个值, 两位小数精度就不能保证了.

    相关文章

      网友评论

          本文标题:NSString floatValue 精度问题

          本文链接:https://www.haomeiwen.com/subject/qwqpoxtx.html