汇编语言数字表示问题

为什么:ax=2222=08aehdx=1111=0457h(高位)0457h+(低位)08aeh=45708aeh=7281271872812718≠11112222啊... 为什么:
ax=2222=08aeh
dx=1111=0457h
(高位)0457h+(低位)08aeh=45708aeh=72812718
72812718≠11112222啊
展开
 我来答
因特纳雄耐尔一定会实现
2015-04-05 · TA获得超过472个赞
知道小有建树答主
回答量:401
采纳率:68%
帮助的人:115万
展开全部
为什么会等于?
ex1:
ax = 1 = 0001h
bx = 1 = 0001h

高位 0001h + 低位0001h = 00010001h = 65537

显然 dx * 65536 + ax 才等于 65537。。
不是你这样直接拼接的,因为牵涉到不同进制,位权不一样。用16进制拼接的时候是乘以的65536,你用10进制拼接的时候乘以的是10000。。铁定不一样啊

------回到你的问题就是

1111 * 65536 + 2222 = 你算的大的那个数

1111 * 10000 + 2222 = 你算的小的那个数
追问
我这个问题折腾了好久,今天总算被你帮忙解决了,原来犯了这么2的错误,汗啊          谢谢指点迷津!!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式