lzAzl 发表于 2020-5-26 11:34:58

进制转换

本帖最后由 lzAzl 于 2020-5-26 11:36 编辑

编写一程序,将BUF中的16位有符号二进制数6F80H,98B0H, -74ABH, -F88AH
转换为十进数显示输出。

我的问题不是写这个程序{:5_91:} ,而是
题目既然说了是有符号数,那数字为什么还带符号呢?
比如,74ABH是0111 0100 1010 1011,本来应该是正数,加了负号就成负数了?
那,F88AH本来就是负数,再加负号又是什么意思?

wp231957 发表于 2020-5-26 12:03:45

肉眼能看到的,计算机未必就能识别
所以当计算机看到寄存器最高位等于1
它就认为这是一个负数

lzAzl 发表于 2020-5-26 12:21:20

wp231957 发表于 2020-5-26 12:03
肉眼能看到的,计算机未必就能识别
所以当计算机看到寄存器最高位等于1
它就认为这是一个负数

我试了一下,如果输入 -74ABH,计算机是以 74ABH的补码储存的
然后执行程序,显示的就是补码的十进制形式(等于换了一个数)
但题目想让显示的不应该是负号加上 74ABH的十进制形式吗?
页: [1]
查看完整版本: 进制转换