要了解进制转换的规则,首先要了解各个进制是什么。
首先要掌握二进制、十进制、十六进制、原码、反码、补码等概念
https://www.cnblogs.com/fuhaots2009/p/3476502.html 【转】这篇文章关于二进制和十进制的关系介绍的很好。
二进制
二进制是数字的一种表示形式,即“逢2进1”。从0开始,假设一个四位系统,0001表示的就是1,0010表示的就是2.
十进制
十进制是我们生活中常用的一种表示形式,逢10进1,不做详述。
十六进制
十六进制是数字的一种表示形式,满16进1位,从0~9,9之后是从A~F。
0~9对应我们十进制的0~9,A对应十进制的10,B进制对应的是11,C~12,D~13,E~14,F~15
到达十五之后再加一,即向前进一位,写作0X10,表示十进制中的16。
有符号数
二进制中最高位为0表示正数,最高位为1表示负数。如0001 表示1 ;1001表示-1
无符号数
无符号数是相对有符号数来讲的,只能表示非负数
二进制中的原码、反码、补码
原码:是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位),该位为0表示正数,该位为1表示负数,其余位表示数值的大小。
注:原码不能直接参与运算。
反码:也是二进制的一种表示方法,正数的反码和原码一样,负数的反码除最高符号位,其余全部取反,即0变成1,1变成0。
补码:一般用于计算机的数值计算
对于有符号数而言:
(1)二进制的最高位是符号位:0表示正数,1表示负数
(2)正数的原码、反码、补码都一样;
(3)负数的反码 = 它的原码符号位不变,其他位取反(0 ->1 ; 1->0 );
(4)负数的补码 = 它的反码 +1;
(5)0的反码、补码都是0;
(6)在计算机运算的时候,都是以补码的方式来运算的;
了解了以上概念后,接下来要了解的是二进制和其他进制的关系。
首先是十进制转二进制
十进制转二进制,只要把这个十进制的数字不断除2,记录下每个余数,直到商为0时,将所有余数倒着连起来,便是这个十进制数字对应的二进制。
观察十进制的10是怎么转换成二进制的。
(省略号后面是余数)倒序连起来即是1010,所以10的二进制是1010.
二级制转十进制
二进制转十进制,首先从右向左为每一位数字标上序号,比如一个四位长度的二进制1010,那么最右边的0的标号就是0,向左依次是0123。然后以2为底数,标号为指数,求出结果,再去和对应的数字相乘,最后将数字相加就可以得到十进制的表示。