十进制数采用的是十个数码(0~9)表示所有的数,基数是10,采用逢十进一的记数方法
二进制数采用的是用两个数码(0~1)表示所有的数,基数是2,采用逢二进一的记数方法
八进制数采用的是用八个数码(0~7)表示所有的数,基数是8,采用逢八进一的记数方法
十六进制数采用的是十六个数码(0~f)表示所有的数,基数是16,采用逢十六进一的记数方法
·计算机中采用二、八、十、十六四种计数制
·计算机只能识别二进制数,其它进制数计算机均不能识别
·采用十进制数,是因为我们对它熟悉
·采用八、十六进制数是因为它们可以缩短二进制数的表示位数
二进制转十进制
*只需按权展开求和即可
例:二进制1010转十进制
1010=1*2的三次方+0*2的二次方+1*2的一次方+0*2的零次方
=8+0+2+0
=10
十进制转二进制
*可采用除2取余的方法
例:十进制13转二进制
13/2=6余1——(最低位)
6/2=3余0
3/2=1余1
余1——(最高位)
13=1101
注意上面的余数是从最高位到最低位,从下往上写就是了。
十六进制转十进制
*同样是按权展开求和即可
9c=9*16的一次方+c*16的0次方
=144+12
=156
因为C代表十进制数12,16的0次方为1。所以c*16的0次方为12
十进制转十六进制
*采取除16余的方法
例:十进制156转十六进制
156/16=9 余c——(最低位)
9/16=0 余9——(最高位)
156=9c
因为156整除16等于9,余数为12,也就是十六进制数c
再学习一个知识
二进制位的逻辑运算,这里学习几种常见的运算
and(与)、or(或)not(非)、xor(异或)
and(与):是指参于运算的双方对应位只要有一个为0其结果即为0,否则为1
例:11001 and 01101=01001
or(与):和and刚好相反,即参于运算的双方对应位只要有一个为1其结果即为1,否则为0
例:11001 and 01101=11101
not(非):比较简单,即求反。0就为1,1就为0
例:not 11001=00110
xor(异或):刚学时可能会比较难理解,和or有点不同,即参于运算的双方对应位只‘能’有一个为1其结果即为1,否则为0
例:11001 xor 01101=10100
汇编的最基础东西差不多就这些了。还有如果学编程和网络没搞懂这些知识的话也是不行的,严格的讲连微软最基本的MCSA认证都不能通过。下面布置几道作业,有兴趣的朋友就贴出你的答案吧!
*注意不能用计算器或工具软件算,请写出运算过程。
1、将十进制数218转换为二进制数?
2、将二进制数10011转换为十进制数?
3、请运算出01111111异或01111000的值?
4、请写出10个连续递增的二进制位?