|
主题 : : 我又来提问了,关于2个16进制数的相加,以及进制的转换问题。 [已解决] |
回复[ 18次 ]
点击[ 566次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2008-05-03 10:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
书上第18页上写到 ADD AX,BX AX=8266H BX=8266H
为什么它们2个相加=1044CH啊 问下是怎么换算的 麻烦大家告知下。 | | |
|
|
|
|
[第1楼]
[ 回复时间:2008-05-03 11:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23 |
十六进制,满16进一。
8266H+8266H,从后向前计算,
(1)6+6=12=cH ,没有进位;
(2)6+6=12=cH ,没有进位;
(3)2+2=4=4H ,没有进位;
(4)8+8=16=10H ,有进位1;
所以结果为104ccH,而不是1044cH。由于ax只能保存16位二进制数,最大为FFFFH,所以,最终ax中的数据应该是04ccH。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2008-05-03 11:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
|
|
|
|
|
[第3楼]
[ 回复时间:2008-05-03 11:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
对了,你荣誉值哪来的啊 谁给你加的吗? 嘿嘿 我也想要 | | |
|
|
|
|
[第4楼]
[ 回复时间:2008-05-03 12:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
8+8=16=10H ,有进位1 这句为什么=16还要=10H 什么意思 | | |
|
|
|
|
[第5楼]
[ 回复时间:2008-05-03 12:52 ]
[引用]
[回复]
[ top ] | |
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34 |
以前也没注意,刚去论坛找了找,看下论坛使用说明中有。
二、用户分值
1、 荣誉值 是用户帮助他人解决问题 和 发表出好贴的一种奖励
2、 信誉值 是对主动结贴的帖主 和 问题帖置顶或放入精华区的帖主的一种奖励 | | |
|
|
|
|
[第6楼]
[ 回复时间:2008-05-03 13:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
8+8=16=10H ,有进位1 这句为什么=16还要=10H 什么意思
还有假如 2个16进制的数相加 比如说:93H+C5H=?
这种应该怎么换算呢? 疑惑。。。 | | |
|
|
|
|
[第7楼]
[ 回复时间:2008-05-03 15:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:15
信誉值:0
注册日期:2008-05-03 15:26 |
计算16进制要抛开10进制的影响,在16进制中“10”不念“十”,你就念“一 零”,F加1,要进一位,即10,F加F,即十进制15加15,应为30,30减16为14,14换算成16进制是E,还要进一位,所以F加F是1E。
8+8=16=10H ,16是十进制,10H是十六进制,十六进制后要加一个H 93H+C5H=158H | | |
|
|
|
|
[第8楼]
[ 回复时间:2008-05-03 15:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
suanliuyiting 看了你的答案,我有点懂了 ,但还是有点不懂哦,我在分析我哪不懂呢。。。 | | |
|
|
|
|
[第9楼]
[ 回复时间:2008-05-03 15:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
不搞清楚16进制的 加减 检测点2.1根本不能做。 | | |
|
|
|
|
[第10楼]
[ 回复时间:2008-05-03 16:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
93H+C5H=158H 还是不明白你这个是怎么换算的 C你把它换算成什么了呢
(30减16为14,14换算成16进制是E,还要进一位) 为什么30要减去16呢?
30是十进制数 换算成16进制数应该不断除以16,但你为什么是减呢?
(14换算成16进制是E,还要进一位,所以F加F是1E。) 这里还为什么要进一位呢?
我是不是很笨。。。。。 | | |
|
|
|
|
[第11楼]
[ 回复时间:2008-05-03 16:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23 |
C你把它换算成什么了呢
----------------
十六进制的数据为0,1,2,3,4,5,6,7,8,9,a(即10),b(即11),c(即12),d(即13),e(即14),f(即15)。 | | |
|
|
|
|
[第12楼]
[ 回复时间:2008-05-03 16:34 ]
[引用]
[回复]
[ top ] | |
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23 |
(30减16为14,14换算成16进制是E,还要进一位) 为什么30要减去16呢?
(14换算成16进制是E,还要进一位,所以F加F是1E。) 这里还为什么要进一位呢?
----------
你不能把人家的描述给断章取义,这句话跟前面的是联系的。
他举例的是F+F ,因为F=15,所以,F+F=15+15=30,因为要转化成16进制,而30显然超过了16,到底超过了多少自然就是30-16=14,也就是说30在表示进位1后,还剩下14,即E,所以30=1EH,H是十六进制的标志后缀。
不是你笨,是你还有从10进制的习惯中走出来。 | | |
|
|
|
|
[第13楼]
[ 回复时间:2008-05-03 16:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23 |
其实十六进制和十进制的道理是一样的,现在那一个十进制的给你举一个同样的例子:
9+9 = 18 ,超过了10,所以要产生进位1,而进位后剩下多少就是 18-10=8,那么 18转换成十进制就是18.
你把十进制中使用单位10的地方,换成使用16的就是16进制的原理了。其实从原理上将,不管什么进制的,都是一样的,不同的只是满多少后进位而已。 | | |
|
|
|
|
[第14楼]
[ 回复时间:2008-05-03 16:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23 |
荣誉值就是你给别人帮忙,然后别人结贴的时候给你的分数。当你给别人分数的同时,你的信誉值也会增长。 | | |
|
|
|
|
[第15楼]
[ 回复时间:2008-05-03 16:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
younggay 你解释的太清楚了 I LOVE YOU 。。。。。。
但是我知道C 换算成12 (93H+C5H=158H) 那我简单理解成 93H+125H 。。。。 晕 | | |
|
|
|
|
[第16楼]
[ 回复时间:2008-05-03 16:44 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
其实从原理上将,不管什么进制的,都是一样的,不同的只是满多少后进位而已。
我知道啊 但是十六进制有英文 换算的时候要不要把英文换算成十进制的数字呢? | | |
|
|
|
|
[第17楼]
[ 回复时间:2008-05-03 16:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
93H+C5H 如果是像这样的英文的话,我就不知道该哪里进位了(而且还带个不同的字母C)。。。
如果理解成 93H+125H的话 应该是不对的吧```(C是十进制中的十二) | | |
|
|
|
|
[第18楼]
[ 回复时间:2008-05-04 06:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46 |
此贴由 贴主 于 [ 2008-05-04 06:48 ] 结贴。 结贴原因:问题已解决 | | |