fc631889534 发表于 2014-1-21 18:09:47

监测点2.2反算的问题求大神

题检测点2.2 (2) 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为 1001H ,最大为 2000H 。 当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。

SA=1001h,(SA*16=10010?这个对么?新手搞懵了 )EA取最大ffffh,(为嘛我用计算机算得 10010+ffff=2000F??求大神 我到底哪里搞混了 然后求大神看看我家计算机为嘛是这样的我用FFFF/16=BA2... 这科学么?

sidfate 发表于 2014-1-21 18:41:03

这里的ffffH/16=fffh是通过WIN自带计算器算的

按位移来算确实应该为fff.fh,这里小数点后的f应该是省略了

单就除法来说,应有商和余数,但此题要求的是地址最大和最小,所以余数忽略了



如果根据位移的算法(段地址*16=16进制左移一位),小数点后应该是不能省略的

我们可以反过来再思考下,如果SA为1000h的话,小数点后省略

SA=1000h,EA取最大ffffh,物理地址为1ffffh,将无法寻到20000H单元

这道题不应看成是单纯的计算题
-------------摘自详解

du_fish 发表于 2014-1-22 13:27:38

运算要在相同进制的数据间进行。
16进制下 FFFF/16=BA2等于10进制 65535/22=2978
这个计算器是win8的系统计算器

fc631889534 发表于 2014-1-22 16:29:23

du_fish 发表于 2014-1-22 13:27 static/image/common/back.gif
运算要在相同进制的数据间进行。
16进制下 FFFF/16=BA2等于10进制 65535/22=2978
这个计算器是win8的系 ...

:cry可是解答上面 是说用计算器算得是答案 FFF
而且- -我的是W7系统

fc631889534 发表于 2014-1-22 16:29:57

sidfate 发表于 2014-1-21 18:41 static/image/common/back.gif
这里的ffffH/16=fffh是通过WIN自带计算器算的

按位移来算确实应该为fff.fh,这里小数点后的f应该是省略了 ...

:cry答案我看过的
我只是这个懵了
SA=1001h,(SA*16=10010?这个对么?新手搞懵了 )EA取最大ffffh,(为嘛我用计算机算得 10010+ffff=2000F??求大神 我到底哪里搞混了

du_fish 发表于 2014-1-22 16:33:09

fc631889534 发表于 2014-1-22 16:29 static/image/common/back.gif
可是解答上面 是说用计算器算得是答案 FFF
而且- -我的是W7系统

WIN7没用过
FFFF(16进制)/16(10进制)=0FFF(16进制)
用计算器的时候你要自己换过来

du_fish 发表于 2014-1-22 16:37:03

fc631889534 发表于 2014-1-22 16:29 static/image/common/back.gif
答案我看过的
我只是这个懵了
SA=1001h,(SA*16=10010?这个对么?新手搞懵了 )EA取最大ffffh, ...

10010+FFFF=2000F这个是对的啊,,,哪个计算器都是这个

fc631889534 发表于 2014-1-22 16:43:41

du_fish 发表于 2014-1-22 16:37 static/image/common/back.gif
10010+FFFF=2000F这个是对的啊,,,哪个计算器都是这个

当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。

:sweat:不是应该是 20000 么--20000H

fc631889534 发表于 2014-1-22 16:45:08

du_fish 发表于 2014-1-22 16:33 static/image/common/back.gif
WIN7没用过
FFFF(16进制)/16(10进制)=0FFF(16进制)
用计算器的时候你要自己换过来

:sweat: 要用 16进制的 FFFF/ 16(十进制)- -竟然是这样 :lol:谢谢大神ok了

du_fish 发表于 2014-1-22 16:55:26

fc631889534 发表于 2014-1-22 16:43 static/image/common/back.gif
当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。

不 ...

(最小段地址*16+最大偏移)>=2000H,不一定非要=

fc631889534 发表于 2014-1-25 11:07:40

亲 我问问题就是无意义灌水了么?:sad
这种话让人看了好恶心...
页: [1]
查看完整版本: 监测点2.2反算的问题求大神