. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  内存地址空间大小的算法?  [已解决] 回复[ 4次 ]   点击[ 426次 ]  
lcgbest
[帖 主]   [ 发表时间:2009-03-18 23:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2009-03-12 22:22
在王爽老师编著的《汇编语言》第12页有这么一段话:
地址0~7FFFH的32kb空间为主随机存储空间的地址空间,如果把上述看为是十六进制数字的话,7FFFH所代表的十进制数字应该为7+15*16+15*16*16+15*16*16*16,应该为65567,65567除以1024,应该等于64kb,为什么说是32kb,迷惑啊,那位大大可以解释一下啊
wangping198611
[第1楼]   [ 回复时间:2009-03-19 00:17 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:0
注册日期:2009-03-15 23:05
7FFFH所代表的十进制数字应该为32767,请用windows自带的计算器计算一下就知道了
abob
[第2楼]   [ 回复时间:2009-03-19 16:35 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
7FFFH所代表的十进制数字应该为7+15*16+15*16*16+15*16*16*16,
-------------------
十六进制转十进制公式错了

想想十进制的计算,134 = 1*10^2 + 3*10^1 + 4*10^0 = 1*10*10 + 3*10 + 4 = 100+30+4 = 134
类似,十六进制   134H = 1*16^2 + 3*16^1 + 4*16^0 = 256+48+4 = 308
abob
[第3楼]   [ 回复时间:2009-03-19 16:39 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
还有,把7FFFH当作FFF7H计算,得到的十进制也是65527,而不是65567.

一楼说的计算机计算虽然快捷,但是要学会手动计算熟练后可以使用。而不要图方便,那只能是蒙自己了。
lcgbest
[第4楼]   [ 回复时间:2009-03-19 22:36 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2009-03-12 22:22
此贴由 贴主 于 [ 2009-03-19 22:36 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved