1207_MISRA_C规范学习笔记_Rule 10.3 Rule 10.4

全部学习汇总: GitHub - GreyZhang/misra_c_hacking: MISRA C, I'm coming! Happy hacking!

这一对儿规则要求其实是类似的,只是一个应用于整形而另一个则适用于浮点类型。基本的要求其实是简单的:如果进行强制数据类型转换,一定是从宽值范围向窄值范围进行转换。换一个角度也可以去理解这样的要求,如果是从窄值范围到宽值范围的转换,其实隐式的转换模式基本就可以了。

这里给出了一部分例子用以说明上面的情况,判断这个使用方式是否规范的一个简单的标准就是看是否是从一个宽值范围到窄值范围。

小结:对我来说这个算是一个新的知识点的刷新,在此之前关于强制数据类型转换在数值表达范围方面我的确是没有怎么注意过。一般来说,每次用到类似的修改的时候基本上都是遇到编译器报出警告的时候。从现在的这种设计规范的角度出发还是很少的。而之前的转换中,一般来说最多做一个浮点到整形这样有点“近似值”效果的转换,而32bit到16bit这样的转换几乎是没有的。即使是遇到32bit必须转换成16bit的情况一般也通过其他的方式来实现掉了。

开卷有益!这么简单的C语言的基础,没想到我依然算不上扎实!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值