我们汇编语言也有自己的数据表示形式,好比int a=10;来说吧对于汇编可能是mov eax,10,当然也有可能是其他的
这个我不做太多纠结,我们现在重要的是,讲几个二进制,在汇编语言里面用的是二进制,假设n=16,这是10进制,在汇编里面是16进制机器语言是二进制.
这里谈论到一个问题值得大家思考,就是假设一个16进制的数字,也就是0x78CH假设是这个数,他的补码,从定义上面讲正数的原码是本身,
而此时如果我写的是一个负数,例如-(0x78CH)那你该如何做呢?有人说我先转换又怎么怎么是不是你觉得复杂呢?
同理由[-69DAH]补码表示多少呢?
对16进制直接取反-->69DAH+?????=FFFFH
这样算的话就是9625H
还有另外需要讲的就是假设有10进制的补码怎么办呢?有人说10进制我需要转换,我想说假设是负数呢?比如-19又等于多少呢?舞台交给你们!
原文:https://www.cnblogs.com/duxinchengxuyuan/p/13916737.html