进制基础知识

进制概述:

        指进位制,是一种计数方式,也称为进位计数法或位值计数法。

十进制:0,1,2,3,4,5,6,7,8,9

R进制:由0~(R-1)组成,并且每一位上的数据逢R进1

我们的计算机是由逻辑电路组成,逻辑电路通常只要两个状态:开关的接通与断开

这两种状态正好可以用"0"和"1"表示也就是我们要讲解的组成二进制的数字符号

二进制:0,1

虽然计算机喜欢二进制数据,但是用二进制表示数据太长了

为了解决这个问题,八进制和十六进制就来了

八进制:0,1,2,3,4,5,6,7

十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

举例:

二进制:10000000000

八进制:2000

十六进制:400

进制越大:表现形式越短

进制转换:

R进制到10进制的转换

规则:按权展开法(系数*基数的权次幂相加)

        系数:每一【位】上的数

        基数:R进制,基数就是R

        权:从数值的右侧,以0开始编号,对应位上的编号就是该位上的权

十进制到R进制的转换

规则:重复相除法(除基取余,直到商为0,余数反转)

java内置的进制转换

java.lang.integer类中的静态方法

public static String toBinaryString(int i)在基数2中返回整数参数的字符串表示形式为无符号整数

public static String toOctalString(int i)在基数8中返回整数参数的字符串表示形式为无符号整数

public static String toHexString(int i)返回整数参数的字符串表示形式,作为16位中的无符号整数

public static String toString(int i,int radix):返回由第二个参数指定的基数中的第一个参数的字符串表示形式

有符号数据表示法

十进制的数据

+表示正数

-表示负数

计算机中的数据

0表示正数

1表示负数

规定:符号位位于数值第一位

补码表示法:

        正数的补码和原码相同

        负数的补码等于反码+1

有符号数据表示法

原码表示法:使用0表示正数,1表示负数

规定符号位位于数值第一位,其余位是数值位

反码表示法:

正数的反码和原码相同

负数的反码就是它的原码除符号位外,按位取反(1变0,0变1)

补码表示法:

正数的补码和原码相同

负数的补码等于反码+1

结论:

在计算机中,存储和运算采用的都是补码进行的。计算过程中,符号进位舍弃

数据a对数据b异或两次,结果是a

你可能感兴趣的:(java)