类型转换_C++中的int
发布时间
阅读量:
阅读量
类型转换_C++中的int&
看到面试题中有道有趣的,这里mark
...
float a = 1.0f;
cout << (int)a << endl;
cout << &a << endl;
cout << (int&)a << endl;
...
在本地调试时查看到返回值 10 6535 3216 ,这等于十六进制的 3f80 0000 。为什么会这样?(误以为引用转换 ==!)需要进一步了解浮点数在内存中的表示方式。
浮点数
为了便于实现跨平台开发(软件移植),遵循IEEE754标准:其中32bit浮点型由符号字段、指数字段和分数字段组成;具体来说,在32bit格式中符号字段占用1bit、指数字段占用8bit、分数字段占用23bit;而64bit格式则分配给符号字段1bit、指数字段11bit以及分数字段52bit。
在IEEE754标准下进行编码时,默认情况下使用移码表示法来计算指数部分;具体而言,在单精度(32bit)中偏移量设定为+_{\text{offset}}=_{\text{ bias }}=_{\text{ }}
+_{\text{offset}}=_{\text{ bias }}=_{\text{ }}
在双精度(64b
全部评论 (0)
还没有任何评论哟~
