为了账号安全,请及时绑定邮箱和手机立即绑定

unsigned short a; a=-0.5; count<<a<<endl; 会打印出什么?

unsigned short a; a=-0.5; count<<a<<endl; 会打印出什么?

三国纷争 2022-05-11 19:11:14
例如: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决定舍入方式的。

查看完整回答
反对 回复 2022-05-15
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

截断取整……结果为0……

查看完整回答
反对 回复 2022-05-15
  • 2 回答
  • 0 关注
  • 172 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信