「汇编语言」学习笔记01-18/03/11

0000 0000~0000 FFFF内共有多少字节


只变化2^0位时,即只变化8bit中的最后一个二进位

  0000 0000 到 0000 000F ,最后一位0~F共16种变化,也就是共16字节
结论:只变化倒数第一位的情况:共16字节


增加一位,当变化2^1和2^2位时,即变化8bit中的最后两个二进位

先确定2^1位即8bit中的倒数第二位,该位为0不变时,最后一位的变化排列:0000 0000 到 0000 000F ,这里的排列也是16种即有16字节
再确定2^1位即8bit中的倒数第二位,该位为1不变时,最后一位的变化排列:0000 0010 到 0000 001F ,这里的排列也是16种即有16字节
… …
最后确定2^1位即8bit中的倒数第二位,把该位确定为F不变时,最后一位的变化排列: 0000 00F0 到 0000 00FF,这里也是有16种排列也即是16个字节
结论:只变化倒数两位的情况:共16*16(16^2)字节


再增加一位,当变化2^2,2^1和2^0位时,即变化8bit中的最后三个二进位

类似3位二进位(二进制)共8种变化的排列:000,001,010,011 和 100,101,110,111,即知道当确定2^2位为0的排列和为1的排列都是相等的
因此,
先确定2^2位即8bit中的倒数第三位,该位为0不变时:
    再确定2^1位即8bit中的倒数第二位,该位为0不变时,最后一位的变化排列:0000 0000 到 0000 000F ,这里排列有16种即16字节
    再确定2^1位即8bit中的倒数第二位,该位为1不变时,最后一位的变化排列:0000 0010 到 0000 001F ,这里排列有16种即16字节
    ...
    最后确定2^1位即8bit中的倒数第二位,该位为F不变时,最后一位的变化排列:0000 00F0 到 0000 00FF ,这里排位有16种即16字节
    
    结论:这半部分共16*16(16^2)字节
同理,当确定2^2位即8bit中的倒数第三位,该位为1不变时:
    这时也是与上半部分的字节数量相等,而8bit中的倒数第三位上,该位共有0~F 16种情况,因此
结论:只变化倒数三位的情况:共16*16*16(16^3)字节


因此,当变化2^3,2^2,2^1和2^0位,即变化8bit中的最后四个二进位时,

可以得到,只变化倒数四位的情况:共16*16*16*16(16^4)字节



由于后面每提升一个二进位的排列情况都包含前面其所有依次减少一个二进位的情况(也就是说,只变化倒数两个二进位的变化排列的16*16个字节里面,是包含前面只变化最后一个二进位的变化排列的那16个字节。而只变化倒数三个二进位的变化排列的16*16*16个字节里面,既包含只变化倒数两个二进位的变化排列的那16*16个字节,也包含只变化最后一个二进位的变化排列的那16个字节。同理最后四位也是如此,包含前面全部的排列。 说得可能有点复杂,画图排列就知道了),因此可以得到:
    从0000 0000~0000 FFFF共16^4=65536字节,也就是64KB(1KB=1024Byte(字节),64KB=64*1024=65536Byte(字节))



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值