newmonk 发表于 2013-7-13 10:39:24

段地址乘16等于左移1位,我用计算器算怎么不对?


高手请看图,我用XP的计算器,计算2000H*16,怎么不是20000H,而是2C000,加上1F60H,也不等21F60H,而是2DF60,请高手指导!!!万分感谢。

遗忘c年华 发表于 2013-7-13 12:27:31

因为你的乘以16是错的,你这样写出来16代表的是十进制的16,所以是不对的,应该把16化为十六进制的数,通过转换得出16化为十六进制是等于10,你再乘上。。你懂的。

遗忘c年华 发表于 2013-7-13 12:42:43

关于进制移位说法:因为每一种进制的满进都是表现为10,所以这这样就解释了为什么每个进制乘以自己的满进都是左移了。这就说明了为什么二进制没有2,八进制没有8,十进制一个位没有10,16进制没有16,因为满进都是向前进一,自己置0,如二进制01+01,因为两个1加起来等于2,满足算法进制逢二进一,所以01+01=10

newmonk 发表于 2013-7-13 15:45:42

感谢二三楼的解答,我懂了。{:1_1:}

qiusuo 发表于 2013-7-16 08:10:17

小甲鱼说的16其实是16尽职里的10吧

yam6174 发表于 2013-7-16 08:52:21

进制不统一,你所乘的16被计算器默认为是十六进制的,而你是把16当成十进制算的,2000h*16h=2c000h
图片表达的意思是把16看成十进制的,希望能帮到你

空虚寂寞冻 发表于 2013-7-16 09:40:52

不用乘啦,直接左移一位就行了
页: [1]
查看完整版本: 段地址乘16等于左移1位,我用计算器算怎么不对?