隨鈊乄鎍慾 发表于 2013-5-22 21:17:23

请问各位牛人:各种存储单元能表示的范围是怎么算的?

本帖最后由 s0512 于 2013-5-25 15:25 编辑

比如:ax的取值范围是怎么算的?al.ah又是怎么算的?我是自学的有的问题就连自已都感觉问得弱弱的请高手不要见怪!{:2_25:}

熊文杰 发表于 2013-5-22 21:17:24

大家共同学习和进步。
第一个问题 ,ax的取值范围怎么算
我就说下8086cpu,ax是16位的,最小数值 也就是16位全部都是0,最大数值也就是16位全部都是1,也就是0~2的17次方减1

熊文杰 发表于 2013-5-22 21:39:55

第二个问题 al.ah又是怎么算的?
al,ah是8位,也是同样的方法
最小也就是所有位都是0,也就是0 ,最大值也就是所有值都是1,也就是2的9次方减去1等于511
0~511

隨鈊乄鎍慾 发表于 2013-5-22 22:14:35

熊文杰 发表于 2013-5-22 21:37 static/image/common/back.gif
大家共同学习和进步。
第一个问题 ,ax的取值范围怎么算
我就说下8086cpu,ax是16位的,最小数值 也就是1 ...

"比如说一个8位的char。能够表示的范围是-128~127"哪这个又是怎么算出来的呢?

熊文杰 发表于 2013-5-22 22:45:27

cqsbd_fzb 发表于 2013-5-22 22:14 static/image/common/back.gif
"比如说一个8位的char。能够表示的范围是-128~127"哪这个又是怎么算出来的呢?

这个是有符号位的。有符号位,最高位表示符号。最高位为0表示是正数,最高位为1,表示是负数。
除开符号位,还剩7位


最高位为0时, 7个位全部为1为127,全为0就是0,也就是 0~127
最高位为1时,7个位全部为1时候为-1,全部为0的时候是-128.也就是-128~-1
所以char的取值范围是-128~127

lsh華 发表于 2013-5-24 12:34:58

强烈支持楼主ing……

bafengao 发表于 2013-5-24 17:32:52

强烈支持楼主ing……

汇编小白菜 发表于 2013-6-26 15:27:16

ax是通用寄存器。是两个字节。即一个字。ax的范围为2^16-1。。。ah和al是ax的高、低位。每个位是8个字节。所以是2^8-1
页: [1]
查看完整版本: 请问各位牛人:各种存储单元能表示的范围是怎么算的?