算术转换

转换
1算术操作数
1.1布尔、字符和整数
整型提升中,对于unsigned char和unsigned short的处理有两种实现:一种是总是提升为unsigned int,称为unsigned保留。另一种是值保留,即如果signed int能够容纳unsigned char和unsigned short的值,则提升为signed int,否则提升为unsigned int。Unix C编译器采用unsigned保留,这样最简单,但是C89最终决定采用值保留,这样可以减少unsigned int在遇到signed int时的符号问题。
1.2布尔类型
虽然技术上来说_Bool是个整型,但是和其它整数转换不完全相同。例如,(int)0.5=0,但是(_Bool)0.5=1。因为_Bool表达的是该值是否为真,非0就是真。因此,应该把_Bool看成真假,而不能看成1个普通整数。
1.3有符号和无符号整数
在2的补码表示的机器上,有符号和无符号整数转换其实不会改变表示方式,不过现在这种转换已经在标准中说明为独立于表示方式了。
1.4浮点数和整数
C89委员会一致认为浮点数转换为整数应该向0截断。注意,从整数转换到浮点数可能需要舍入,因为浮点精度可能不够。
1.5浮点类型
C89在double转换到float时不需要舍入,IEC60559浮点处理芯片控制浮点到整数的转换和从double到float的转换使用相同的模式位。
1.6复数类型
复数类型的转换其实就是两个独立的部分-实部和虚部的相应转换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值