8位单片机做多位乘除操作
今日在8位单片机中做乘除运算,简化代码如下
unsigned char a = 100;unsigned char b = 120;unsigned char result = 0;result = a*b/120;printf("result = %d", result);
以上代码在x86中运行无误,但在8位单片机中:
如果操作数高于8位,或者运算过程中产生了高于8位的数,易产生错误。
例如 100*200 > 256 已经超过8 bit.
所有操作数定义的数据类型,必须足以保存运算过程中产生的最大数值。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
