龙龙 发表于 2015-6-22 03:07:22

各进制的关系

  
  这帖几乎在为了加强自己的学习而写的,也是凭着看完中山大学汇编根据自己的记忆而写的,写错的大牛们莫喷...
  首先,数的进制有二进制、八进制、十进制、十六进制;
  其次,二进制逢二进一,只能使用0和1,八进制逢8进1,只能使用0、1、2、3、4、5、6、7和8、十进制、十六进制依此类推;
  
  下面说说各进制的表示:二进制在其相应的数用B来表示,八进制用O来表示,十进制用D来表示,十六进制则用H来表示,有些汇编指令中出现0x的也指的是十六进制数;
  例如:1010B代表的是二进制数,而1010D代表的是10进制数
  各进制的转换(相对来说,八进制不咋用,所以在些略过,有兴趣的可以自己思考下):
  十进制转二进制或者转十六进制:当十进制数转二进制时,使用除2取余法,所得结果从下往上写一起,后面再加B表示;转十六进制时,使用除16取余法,也将所得的结果从下往上写在一起,后面再加H表示例如:10D=?? 下面开始计算过程:10/2=5余0、5/2=2余1、2/2=1余0
  
http://bbs.fishc.com/forum.php?mod=attachment&aid=MTU2NTN8NjVhYTAyY2Z8MTM3Njk5ODQ5OHwyNTEyOTV8MzY0OTM%3D&noupdate=yes
  所以所得结果10D=1010H,十进制转换十六进制的就不说了,自己按照方法来,嘻嘻
  既然有了十进制转二进制或者转十六进制,那么也应该有二进制或者十六进制转换成十进制。如何转呢?
  请看下面
  二进制或者十六进制转换成十进制 按权展开法 不明白计算机中的权是什么意思,你可以百度下
  1010H=??
  
http://bbs.fishc.com/forum.php?mod=attachment&aid=MTU2NTR8YjU5Zjk4NDN8MTM3Njk5ODQ5OHwyNTEyOTV8MzY0OTM%3D&noupdate=yes
  所以1010H=10D,十六进制的也是类推哈
  二进制转换成十六进制:将二进制每四位(不够四位的在其数左边补0)转换成十六进制,再将每个十六进制的数结合在一起,别忘了后面加上H;例如:1010B=AH,1011B=BH,那么10101011B=ABH
  十六进制转换成二进制:将十六进制的每个数展开成为每四位二进制,再将每个二进制数后面加上B 例如:FH=1111B;EH=1110B;而EFH=11101111H
  下面请记得一句话:在计算机,有符号数是用补码来表示嘀!
  我们一般用最高有效位表示数的符号,正数的最高有效位是0,负数的最高有效位是1
  数据的码制:原码 、补码、反码
  正数的有补码是其本身,例如[+6]=00000110
  负数的补码是其对应的正数补码按位取后加1 。
  例如 [-6]=取反+1=11111001+1=11111010
“下面开始计算过程:10/2=5余0、5/2=2余1、2/2=1余0”这个地方还少了1/2=0余1;
  “1010H=??
  所以1010H=10D”——是1010B=10D
来补充下一种特殊的算法:
  例如1010(2)=22(4)——》(10)(10)2个按照10进制来算——》10(2)=2(10)
  001010(2)=12(8)——》(001)(010)
  00001010(2)=A(16)——(0000)(1010)
  若不是2进制转2的那次方进制,或2个非10进制的转换就要通过10进制为桥梁来转换。

besteast 发表于 2017-6-11 16:31:27

我觉得应该可以,我顶你

山东 发表于 2017-6-12 13:14:50

学习了

1512675128 发表于 2018-1-13 15:59:21

顶好贴!
页: [1]
查看完整版本: 各进制的关系