用汇编也可以处理,一楼的方法也是一种。
如果用C语言编程,无非就是把16位数分成两部分,高8位与低8位,在运算的时候,按照我们一般的规则,从低位开始先乘后加。编程序细致一点,问题不大。
1、整型数为16位。16位与16位相乘,则需定义长整型32位。除法则会取整处理。汇编实现时需要严谨处理。
2、简单办法是直接定义float型变量。注意float转整型时不会四舍五入处理。+0.5处理。
具体要看看你的代码。
16位与16位的乘法和除法可能是32位了
unsigned long int ║4字节║0~4294967295
你可以申明个
unsigned long int Temp;
unsigned int k1,k2;
Temp = k1*k2;
没用过,好像通过移位的方法可以处理16位数据!