你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
黑皮男 发表于 2018-7-7 16:42 最好能够打印出来看,编译器优化后显示的值有时会和预期不一样
评分
查看全部评分
3Q 我试试
浮点数,内部存储是以IEEE754标准存储的,所以就是图中的数值了
目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。这种结构是一种科学计数法,用符号、指数和尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号。下面是具体的规格:
符号位 阶码 尾数 长度
float 1 8 23 32
double 1 11 52 64
32位的浮点数中:
S:浮点数的符号位,1 位。0表示正数,1表示负数。
M:尾数,23位。用小数表示,小数点在尾数域前面。
E:阶码,采用移码方式来表示。移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大。采用这种方式时,将浮点数的指数真值e 变成阶码E 时,应将指数 e 加上一个固定的偏移值127(01111111),即 E=e+127
64位,同理,有兴趣自己推算一下
(以上99%的内容,来自百度,如有错误,无法负责)
评分
查看全部评分
评分
查看全部评分