Warning[Pe069]: integer conversion resulted in truncation

告警原因:

1、数据类型不匹配造成

例如,把大于255的数据传给unsigned char型数据就会出现这样的警告。
举个例子:

解决方法:右值的数值不可超出左值的表达范围。根据左值的数据类型的表达范围,正确赋值。

2、对一个数据的符号位取反也会导致此告警

例如,下图中因为对数据的Bit7取反导致了告警。Bit7是一个8位数据的最高位,也就是符号位,不可取反。

 解决方法:

对0x....数据强制转换成无符号类型数据再做取反操作,告警消失

 注:如果只是定义变量 然后在赋值中对一个数据的符号位取反可能不会告警(或者说告警被编译器优化掉了),例如,在上述代码中只写27行,不写35行(即不调用),就不会告警

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值