printf("%12f",f) f=123.456 为什么会输出jj123.456001啊?

日期:2014-07-25 19:19:52 人气:1

printf("%12f",f) f=123.456 为什么会输出jj123.456001啊?

浮点数在机器中的存储是按IEEE754标准来进行存储的,详细可百度 float类型占四个字节 第一位为符号位 1 第二到九位为指数位 8 第九位后是尾数(小数)位23 这样的数是不能完整的表现出一个浮点数(不精确性) 因此,你默认输出小数位多时,结果会超出你的想像
    A+
热门评论