例如:unsigned short a;a=-0.5;count<<a<<endl;会打印出什么?
2 回答
手掌心
TA贡献1942条经验 获得超3个赞
打印出0,这个很容易理解的,-0.5是常量,常量默认都有类型的,比如 5默认的类型是int,-0.5默认为double,当将double类型的-0.5赋值给a的时候,显然有一个类型转换,这种转换不需要使用static_cast或者()强制进行,所以称为隐式转换。另外为什么为0呢?计算机中处理浮点数不会进行四舍五入,而是使用向偶数舍入、向0舍入 向下舍入 或者向上舍入, 一般是这四种舍入方式,而c++中的舍入方式,是有 float.h中的 DBL_ROUNDS和FLT_ROUNDS决定舍入方式的。
- 2 回答
- 0 关注
- 172 浏览
添加回答
举报
0/150
提交
取消