jianhong_wu 发表于 2015-11-28 12:23:38

为什么说涉及乘法运算的建议使用unsigned long变量?已解答。

本帖最后由 jianhong_wu 于 2015-11-28 12:25 编辑

阿浩-浙江:

我把类型强制转换了下还是不行 在我在想想吧,不用goto的话我的循环有些赋值是浪费的,而这些数据是需要储存在外接rom里面

★坚鸿-深圳:
(1)此处不要用类型强制转换,既然有乘法,要确保if里的变量都是long,预防数据超翻围,至少也应该是int,但建议是long。
(2)与其研究goto,还不如不用goto,我本人从不用goto。在循环体内,配合if用break或continue,完全可以做你想要的任何逻辑程序,完全可以不用goto,用goto可以看出你还停留在汇编语言的编程思维里。
(3)书写时,建议把==左边的一堆加扩号包起来。这样看起来没那么别扭。

阿浩-浙江:
我一直也是这么使用的 但是这次是需要一次跳出2个循环,实在不行在加个条件在跳一次吧.能解释下为什么是long?   是否是unsigned char*unsigned char =65536,然后我那边还有个加法 编译器就自动转换冲成long?


★坚鸿-深圳:
是的,不能那样,不要妄想编程器自动读懂你的内心,容易出错。 你自己查查每个数据类形的范围,你这种情况建议用unsigned long类型。


阿浩-浙江:
感谢,以前没怎么在意乘法之后的type.


页: [1]
查看完整版本: 为什么说涉及乘法运算的建议使用unsigned long变量?已解答。