例如: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 關注
- 198 瀏覽
添加回答
舉報
0/150
提交
取消