51单片机处理16位数,80c51单片机编程实现两个16位数的减法。

2021-01-13 16:47:20 字数 1275 阅读 6178

1楼:匿名用户

用汇编也可以处理,一楼的方法也是一种。

如果用c语言编程,无非就是把16位数分成两部分,高8位与低8位,在运算的时候,按照我们一般的规则,从低位开始先乘后加。编程序细致一点,问题不大。

2楼:匿名用户

16位与16位的乘法和除法可能是32位了

unsigned long int ║4字节║0~4294967295

你可以申明个

unsigned long int temp;

unsigned int k1,k2;

temp = k1*k2;

3楼:匿名用户

1、整型数为16位。16位与16位相乘,则需定义长整型32位。除法则会取整处理。汇编实现时需要严谨处理。

2、简单办法是直接定义float型变量。注意float转整型时不会四舍五入处理。+0.5处理。

具体要看看你的**。

4楼:匿名用户

没用过,好像通过移位的方法可以处理16位数据!

80c51单片机编程实现两个16位数的减法。

5楼:七彩镜

sub16:

clr c ;清进位mov a,#50h ;被减数低位送累加器subb a,#4bh ;减去减数低mov 31h,a ;差低位送31hmov a,#6fh ;被减数高位送累加器subb a,#13h ;减去减数高位mov 30h,a ;差高位送30h;如果有借位,c为1

6楼:顶起石头的小草

你好!是用汇编来完成?

51单片机怎样进行两个16位数的运算

7楼:匿名用户

运算过程是在累加器和寄存器中自动进行的

8楼:匿名用户

这是用汇编语言编程时,才要考虑的问题。要是用c语言编程,只要声明了一个16位变量就可以了,四则运算都可以的。

汇编语言写程序,加减法,比较容易简单,只是乘除法要麻烦些。不过,也就是用两个字节,分成高8位和低8位分别运算就行了。

9楼:单片机小丸子

分俩次啊,先存储在一个寄存器中。

10楼:顶起石头的小草

你好!是“加减乘除”的哪一种?

51单片机怎样进行两个16位数的运算

1楼 匿名用户 运算过程是在累加器和寄存器中自动进行的 2楼 匿名用户 这是用汇编语言编程时,才要考虑的问题。要是用c语言编程,只要声明了一个16位变量就可以了,四则运算都可以的。 汇编语言写程序,加减法,比较容易简单,只是乘除法要麻烦些。不过,也就是用两个字节,分成高8位和低8位分别运算就行了。 ...