小编Moh*_*aky的帖子

8051 16位加法/乘法结果16位而不是32位

我有个问题.在此程序中,变量x应设置为0x10000,但在两个操作中结果为0.

这不是主程序,而是查找错误原因的测试.我目前正在使用十六进制输入制作64位乘法器.我使用Keil和Proteus进行了16位乘法运算

int main() {
    unsigned long int x = 0;
    x = 0x8000 * 0x2;
    x = 0x8000 + 0x8000;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c 16-bit integer-promotion integer-arithmetic

-2
推荐指数
1
解决办法
443
查看次数

标签 统计

16-bit ×1

c ×1

integer-arithmetic ×1

integer-promotion ×1