说到二进制,学习汇编的人可能经常在学习它,还有c/c编程语言。 可能像学习其他编程语言一样,不太关注二进制问题。 那么,那么,开始说如何变换二进制之间,如下所示。
从
一、二进制与其他进制之间的转换:
1一进制数变为八进制数:
变换方法:利用以2进制的小数点作为分隔符,左边(或者右边)每3位取1位的三角法。
例如,该二进制串1010 0100B=__? _; 计算过程如下图所示,结果为244。
2:二进制转十进制:
转换方法:将二进制数进行加权展开,相加后为十进制数。 (具体使用方法如下图)
例如,该二进制串1001 0110=__? _; 计算过程如下图所示,得到了150个结果。
3 :从二进制转换为十六进制:
变换方法:利用四合一法。 也就是说,以二进制的小数点为边界点,向左(或向右)每四位取一位。
例如,该二进制串1010 0100B=__? _; 计算过程如下图所示,得到的结果为a4。
二、八进制进制与其他进制之间的转换:
1、将八进制转换为十进制的方法与将二进制转换为十进制的方法相同。
例如利用这个8进制的26Q=__? _; 计算过程如下图所示,结果为22。
三、十进制进制与其他进制之间的转换:
1、十进制变换二进制:
变换方法:“除2外取余数”,从十进制小数变换为二进制小数采用“乘2整数”。
例如,这个十进制135D=__? _; 计算过程如下图所示,将135除以2,得到csdyj直到不能被整除,然后从下往上卷csdyj。 结果: 1000 0111。
二、十进制小数二进制数:
要将十进制小数转换为二进制小数,请采用“乘以2后取整数,然后按顺序排列”的方法。
变换方法:用210进制小数得到积。 的整数部分,用2剩下的小数部分得到另一个积,再取出积的整数部分,直到积中的小数部分为零或达到要求的精度为止。 然后,将取出的整数部分按顺序排列,先取的整数作为2进制小数的高位有效位,后取的整数作为低位有效位。
例如,利用这个字符串0.68D=__? __ (精确到小数点后5位); 计算过程如下图所示,0.68乘以2取整数,然后小数乘以2,取整数直到达到主题的要求精度。 结果: 0.10101。
从三十进制到八进制:
思想的转换与十进制二进制相同:
例如,该字符串十进制10.68D=__? __ (精确到小数点后3位); 计算过程如下图所示,用整数部分除以8,取csdyj,直到不能整除为止。 小数部分0.68乘以8进行整数化,然后小数部分乘以8,进行整数化直到达到主题的要求精度。 结果:得到12.534。
4、从十进制改为十六进制:
思想的转换与十进制二进制相同:
例如,利用这个字符串,25.68D=__? __ (精确到小数点后3位); 计算过程如下图所示,将整数部分除以16,取csdyj,直到不能整除为止。 小数部分0.68乘以16进行整数化,然后小数部分乘以16,进行整数化直到达到主题的要求精度。 结果:得到19.ae1。
四、十六进制进制与其他进制之间的转换:
1、从十六进制数变为十进制数:
例如,利用这个字符串,23daH=__? __D; 计算过程如下图所示,结果为9178D。
下表是与8位二进制相对应的十进制值,有助于二进制转换和理解类似的主题。
总结:十六进制的各位有0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f这十六个大小不同的数,即十六进制1