转自:https://www.cnblogs.com/wkcn/p/7803147.html
1.进制
进制是一种记数方式 ,可以用有限的数字符号代表所有的数值。由特定的数值组成。
2.进制的表现形式
二进制: 由0和1两个数字组成。
八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
十进制: 都是以0-9这九个数字组成,不能以0开头。
十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x或0X开始。
3.进制之间的转换
3.1 十进制转二进制:除以2,反向取余数,直到商为0。(Integer.toBinaryString(9))
3.2 二进制转十进制:二进制的每一个数乘以2的n次方,n表示当前数所在的位置从0开始,每次递增1。然后得出来的每个数相加。
3.3 十进制转8进制:除以8,反向取余数,直到商为0。
3.4 八进制转十进制:每一个数乘以8的n次方,n表示当前数所在的位置从0开始,每次递增1。然后得出来的每个数相加。
3.5 十进制转十六进制:除以16,反向取余数,直到商为0。十六进制的特点:由0~9 a(10) b(11) c(12) d(13) e(14) f(15) 表示。
十六进制转十进制:每一个数乘以10的n次方,n表示当前数所在的位置从0开始,每次递增1。然后得出来的每个数相加。
3.6 计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码, 补码=反码+1。在 二进制里,是用 0 和 1 来表示正负的,最高位为符号位,最高位为 1 代表负数,最高位为 0 代表正数。
以负数-5为例:
>1.先将-5的绝对值转换成二进制,即为0000 0101;
>2.然后求该二进制的反码,即为 1111 1010;
>3.最后将反码加1,即为:1111 1011