独闷闷网
标题:
为什么说涉及乘法运算的建议使用unsigned long变量?已解答。
[打印本页]
作者:
jianhong_wu
时间:
2015-11-28 12:23
标题:
为什么说涉及乘法运算的建议使用unsigned long变量?已解答。
本帖最后由 jianhong_wu 于 2015-11-28 12:25 编辑
阿浩-浙江:
阿浩.png
(3.04 KB, 下载次数: 459)
下载附件
保存到相册
2015-11-28 12:22 上传
我把类型强制转换了下 还是不行 在我在想想吧, 不用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.
欢迎光临 独闷闷网 (http://www.dumenmen.com/)
Powered by Discuz! X3.2