|
主题 : : 段的起始地址要为16的倍数,我可不可以这样理解 [待解决] |
回复[ 49次 ]
点击[ 2658次 ] | |
|
|
|
|
|
[帖 主]
[ 发表时间:2007-08-22 15:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:5
信誉值:3
注册日期:2007-08-21 01:10 |
| 比如说1000x16 意思是在10000 在1000的后面加个零了 | | |
|
|
|
|
|
[第1楼]
[ 回复时间:2007-08-22 17:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:283
信誉值:0
注册日期:2007-06-26 11:42 |
表面上是这样的!其实你的这种理解写成 1000H X 10H,这样的表示才对,也更符合你的这个思维逻辑。但是1000 x 16 好像就不太好了,左右进制不统一。
其实,就像2进制左移一位与X2等价一样,16进制的x10h(即16)其实也可以看成16进制的左移一位,不过,此处所说的一位相当于2进制中的4位了。
我觉得关键是理解,表面的形式只是个给人的直观感觉。 | | |
|
|
|
|
|
[第2楼]
[ 回复时间:2007-08-22 21:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:5
信誉值:3
注册日期:2007-08-21 01:10 |
|
|
|
|
|
|
[第3楼]
[ 回复时间:2007-08-22 21:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:5
信誉值:3
注册日期:2007-08-21 01:10 |
cxn
基础知识 你可以找几个例子试试 比如 101B 中每一位和各位的左边位的位权有什么关系?在二进制中该位的左边一位的位权都是该位的2倍 位权的值是这样的该位为1其它位为0时该数的值。
比如100101B各位的位权从左到右为2^5=32,2^4=16,2^3=8,2^2=4,2^1=2,2^0=1
又比如3DF8H各位的位权从左到右为16^3=4096,16^2=256,16^1=16,16^0=1
建议重新学习下进制的转换
jiyunyan
其实这很简单!
生活中是以10进位的!例如!150 你左移一位就是1500!相当于 150*10
机器数是以2进位的!左移当然*2咯
看了他们两个人的帖子我就明白了 谢谢 呵呵 | | |
|
|
|
|
|
[第4楼]
[ 回复时间:2007-10-20 23:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:1
注册日期:2007-10-19 21:34 |
| 各位朋友,真热心,这个问题我直到今天才明白1000*16是怎么算出结果来的,原来是进制不同,谢谢! | | |
|
|
|
|
|
[第5楼]
[ 回复时间:2007-10-30 11:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-10-30 10:46 |
你想啊~10进制的数乘10
比如123x10 不就是1230么
那么你说的1000Hx16 也就是这个1000H是个16进制数,再成一个16就是在后面加了个0,在机器里所有的数据都是2进制存放的,那么就相当于2进制数左移了两位 | | |
|
|
|
|
|
[第6楼]
[ 回复时间:2007-10-31 16:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:19
信誉值:0
注册日期:2007-10-31 16:24 |
| 段地址为16的倍数实际上就是说段地址的末尾必须是0。 | | |
|
|
|
|
|
[第7楼]
[ 回复时间:2007-11-10 23:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-10-29 22:20 |
|
|
|
|
|
|
[第8楼]
[ 回复时间:2007-11-20 22:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:5
信誉值:5
注册日期:2007-11-03 11:40 |
10(一零)在十六进制中相当于十进制的16,所以段地址是十六的倍数,即xxx0.
这个网站氛围很好 | | |
|
|
|
|
|
[第9楼]
[ 回复时间:2008-01-10 12:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-01-10 12:11 |
段的起始地址要为16的倍数,我可不可以这样理解
------
看楼主的理解没什么问题,但这个说法肯定是错的。
根据公式:物理地址=段地址*10h+偏移地址
这里的段地址可以为0~ffffh的任意值。 | | |
|
|
|
|
|
[第10楼]
[ 回复时间:2008-02-10 17:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:53
信誉值:0
注册日期:2008-02-09 02:55 |
嗯,
要分清楚段地址与段的起始地址或基础地址的区别。 | | |
|
|
|
|
|
[第11楼]
[ 回复时间:2008-02-11 20:51 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-02-11 20:20 |
|
|
|
|
|
|
[第12楼]
[ 回复时间:2008-02-25 02:39 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-02-24 19:41 |
| 就是这样嘛。小学学10进制。。乘10就是加个0这是16进制当然是乘以16就加个0喽!!! | | |
|
|
|
|
|
[第13楼]
[ 回复时间:2008-04-15 10:39 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-13 13:14 |
当初我也迷茫了好长时间,搞不懂,就记着移一位就加个0,怎么说的是二进制左移就相当与*2,怎么10进制做移相当乘10,16进制相当于*16。
我算啊算的,比如2000H,左移一位,按照定义,应该*16,我乘啊乘的,怎么也不对。 后来一想,我靠,人家是16进制,你把16进制非要去乘10进制的16,能对吗? 应该把16转换成16进制就是10H拉。这样在乘就没错了。郁闷。 | | |
|
|
|
|
|
[第14楼]
[ 回复时间:2008-04-16 03:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:44
信誉值:0
注册日期:2008-04-11 13:33 |
|
|
|
|
|
|
[第15楼]
[ 回复时间:2008-04-19 18:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-16 15:28 |
|
|
|
|
|
|
[第16楼]
[ 回复时间:2008-07-27 12:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:5
信誉值:3
注册日期:2008-07-14 19:30 |
十进制的16不就是16进制的10嘛
所以一个十六进制是16(注意:该16是10进制)倍数,其实就10H的倍数,,
个人见解!!! | | |
|
|
|
|
|
[第17楼]
[ 回复时间:2008-07-28 11:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-25 10:35 |
| 小弟 建立了汇编语言交流群,希望大家有什么问题可以在线交流.不知道这算不算违反了论坛的规定,如果是 就请删除吧,想一起交流的加:67024984 | | |
|
|
|
|
|
[第18楼]
[ 回复时间:2008-08-11 16:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-29 18:00 |
回复:[贴 主]
------------------
受教了!!! | | |
|
|
|
|
|
[第19楼]
[ 回复时间:2008-08-11 16:26 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-29 18:00 |
|
|
|
|
|
|
[第20楼]
[ 回复时间:2008-08-21 18:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2007-08-20 03:11 |
二进制*2
八进制*8
十进制*10
十六进制*16
道理都是一样的,就是左移一位,后面补零 | | |
|
|
|
|
|
[第21楼]
[ 回复时间:2008-08-27 06:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-08-20 17:22 |
|
|
|
|
|
|
[第22楼]
[ 回复时间:2008-09-02 17:39 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-08-18 10:34 |
|
|
|
|
|
|
[第23楼]
[ 回复时间:2008-09-09 16:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:8
信誉值:2
注册日期:2008-09-04 17:29 |
二进制*2
八进制*8
十进制*10
十六进制*16
道理都是一样的,就是左移一位,后面补零
------------------
回复:错,全*16.
20-16=4;20根总线
2^4=16;2的4次方。 | | |
|
|
|
|
|
[第24楼]
[ 回复时间:2008-09-10 16:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2008-09-04 16:35 |
|
|
|
|
|
|
[第25楼]
[ 回复时间:2008-09-12 15:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-09-12 15:07 |
|
|
|
|
|
|
[第26楼]
[ 回复时间:2008-09-16 16:34 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-09-16 16:23 |
哈哈~~~
原来如此,*16就是向左移一位啊!!! | | |
|
|
|
|
|
[第27楼]
[ 回复时间:2008-10-04 05:11 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-03-30 04:18 |
|
|
|
|
|
|
[第28楼]
[ 回复时间:2008-11-22 20:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-11-16 22:43 |
|
|
|
|
|
|
[第29楼]
[ 回复时间:2008-12-07 23:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-11-22 13:39 |
|
|
|
|
|
|
[第30楼]
[ 回复时间:2008-12-29 23:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-10-22 14:47 |
左移多少位要看进制的
说段地址左移1位的是16进制表示的
说段地址左移16位的是16进制表示的 | | |
|
|
|
|
|
[第31楼]
[ 回复时间:2008-12-29 23:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-10-22 14:47 |
上面打错了,更正一下:
说段地址左移1位的是16进制表示的
说段地址左移16位的是2进制表示的 | | |
|
|
|
|
|
[第32楼]
[ 回复时间:2009-01-01 08:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-21 21:41 |
| 我的看法是“段地址*16”是以平常的十进制思维来描述的,在具体操作时,段地址是十六进制的,偏移地址也应是十六进制的,如:1005H*10H ,而不应是:1005H*16. | | |
|
|
|
|
|
[第33楼]
[ 回复时间:2009-02-12 16:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-02-12 14:29 |
| 理解就好理解就好,多思考会体会更深,我想这也是王老师之意吧 | | |
|
|
|
|
|
[第34楼]
[ 回复时间:2009-02-13 17:08 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:6
注册日期:2009-02-09 10:54 |
当初我也迷茫了好长时间,搞不懂,就记着移一位就加个0,怎么说的是二进制左移就相当与*2,怎么10进制做移相当乘10,16进制相当于*16。
我算啊算的,比如2000H,左移一位,按照定义,应该*16,我乘啊乘的,怎么也不对。 后来一想,我靠,人家是16进制,你把16进制非要去乘10进制的16,能对吗? 应该把16转换成16进制就是10H拉。这样在乘就没错了。郁闷。
------------------
回复:
呵呵,你描述的还真生动。。。
我理解的整个过程就是你说的那样的 | | |
|
|
|
|
|
[第35楼]
[ 回复时间:2009-03-11 11:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-03-09 22:52 |
段地址为16的倍数实际上就是说段地址的末尾必须是0。
------------------
回复:把这句话理解就好了! | | |
|
|
|
|
|
[第36楼]
[ 回复时间:2009-03-17 13:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-03-17 13:02 |
| 为了这个问题 找到了这个论坛 不错~~~~~~~:) | | |
|
|
|
|
|
[第37楼]
[ 回复时间:2009-03-19 16:13 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-03-19 16:05 |
| 我也是刚起步,来到这个网站,当初也被这个问题迷住,现在解决了。 | | |
|
|
|
|
|
[第38楼]
[ 回复时间:2009-06-04 12:11 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-06-01 18:22 |
二进制*2
八进制*8
十进制*10
十六进制*16
其中2,8,10,16都是十进制的 要将十进制转换为相应的进制才行 我被迷惑很久了 ⊙﹏⊙b汗 | | |
|
|
|
|
|
[第39楼]
[ 回复时间:2009-06-09 03:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-06-06 16:46 |
| 我就纳闷了.书上为什么整个16进制的地址和十进制16相乘. 还不如直接统一成,十六进制:段地址*10H. | | |
|
|
|
|
|
[第40楼]
[ 回复时间:2009-07-25 21:26 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-07-23 20:48 |
| 书上2.8绝对有问题 主要是没说清楚 这让初学者怎么学啊 一个多的最大长度是64KB 意思不就是 以16位进制的段地址的首位来分段 即1000和2000 这之间的就是64KB 不过 他说那么麻烦干嘛? 还有 这有什么意义阿 | | |
|
|
|
|
|
[第41楼]
[ 回复时间:2009-07-25 21:30 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-07-23 20:48 |
| 如果是1000和3000 中间就有128KB 问题来了 偏移地址只能寻址64KB 于是乎 2000和3000就无法寻址了 所以 书里还是很罗嗦的 | | |
|
|
|
|
|
[第42楼]
[ 回复时间:2009-07-25 21:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-07-23 20:48 |
| 2.12又错了 123B0H到123BAH 长度应该是11字节吧!!!!!!!!! | | |
|
|
|
|
|
[第43楼]
[ 回复时间:2009-10-27 15:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-09-01 14:59 |
|
|
|
|
|
|
[第44楼]
[ 回复时间:2009-11-04 15:43 ]
[引用]
[回复]
[ top ] | |
荣誉值:3
信誉值:0
注册日期:2009-10-27 16:12 |
| 刚开始的时候,我也没看懂,后来自己用计算器算了一下,才懂了,十进制X16,其实数值上看,就相当于十六进制X10 | | |
|
|
|
|
|
[第45楼]
[ 回复时间:2009-12-20 19:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2007-08-20 03:11 |
二进制*2
八进制*8
十进制*10
十六进制*16
道理都是一样的,就是左移一位,后面补零
------------------
回复:错,全*16.
20-16=4;20根总线
2^4=16;2的4次方。
------------------
回复:呵呵,其实我没有说清楚,我以为大家都挺明白的~
实际上我列出的仅仅是以十进制数为基础,从纯数学运算的角度考虑,等效于:
二进制*10B
八进制*10Q
十进制*10D
十六进制*10H
对于不同进制数而言,都是左移1位。右边补一个0,哈哈 | | |
|
|
|
|
|
[第46楼]
[ 回复时间:2010-01-14 12:01 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-01-08 13:00 |
|
|
|
|
|
|
[第47楼]
[ 回复时间:2010-02-02 10:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-01-30 10:11 |
| 干嘛那么费劲呢,我是这样理解的,1000H是个16进制的数,而16是个10进制的数,所以,无论是左右转换统一进制,结果都是 10000H | | |
|
|
|
|
|
[第48楼]
[ 回复时间:2010-05-26 14:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-12-29 03:03 |
|
|
|
|
|
|
[第49楼]
[ 回复时间:2010-07-18 00:08 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-16 07:48 |
|