1平时的数一般都是用十进制表示的
十进制:
12345=10000+2000+300+40+5
=1*10^4+2*10^3+3*10^2+4*10^1+5*10^0
=1*10000+2*1000+3*100+4*10+5*1
=10000+2000+300+40+5
=12345
十进制转换为其他进制:
整数除以要转换目标进制的基数,一直除完为止,再将它们的余数由下对上排列。
二进制由0,1组成,0b开头
八进制由0,1,2,3,4,5,6,7组成,0开头
十进制由0,1,2,3,4,5,6,7,8,9组成,整数默认就是十进制
十六进制由0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f组成,以0X开头
32转换为二进制
32/2=16……0
16/2=8……0
8/2=4……0
4/2=2……0
2/2=1……0
1/2=0……1
二进制:100000
32转换为八进制
32/8=4……0
4/8=0……4
八进制:40
32转换为16进制
32/16=2……0
2/16=0……2
十六进制:20
其他进制转换为十进制:
系数:每一位上的数值;基数:原进制上的数;权次幂:从右往左开始进行编号,从0开始。
其他进制转换成十进制的规律:系数乘以基数的权次幂之和。
二进制的100转换为十进制:
0b100=1*2^2+0*2^1+0*2^0
=4+0+0
=4
十进制:4
八进制的100转换为十进制:
0100=1*8^2+0*8^1+1*8^1
=64+0+0
=64
十进制:64
十六进制的100转换为十进制:
0X100=1*16^2+0*16^1+0*16^0
=256+0+0
256
十进制:256
任意进制之间的转换:
1.以十进制作为桥梁
0b100110转换为八进制:
先转换为十进制:
0b100110=1*2^5+0*2^4+0*2^3+1*2^2+1*2^1+0*2^0
=32+0+0+4+2
=38
在由十进制转换为八进制
38/8=4……6
4/8=0……4
八进制:46
2.拆分组合法
转八进制,二进制数从右往左,每三位为一组,不够的话,左边用0补齐,然后组合起来就是结果。
0b100110转换为八进制
100|110
4 | 6 46就是结果
转换为十六进制,二进制的数从右往左,每四位一组,不够的话,左边用0补齐,然后组合起来就是结果
0b100110转换为十六进制
0010|0110
2 | 6 26就是结果
二进制和十进制的快速转换:8421码
单位的转换
1byte=8bit
1K=1024byte
1M=1024K
1G=1024M
1T=1024G
1P=1024G
二进制:
1 1 1 1 1 1 1 1
十进制:
128 64 32 16 8 4 2 1
二进制:110100,用8421码转换为十进制
0 0 1 1 0 1 0 0
32 16 4
32+16+4=52
100转换为二进制:1100100
原码、反码和补码
在计算机内,符号数有三种表示法,原码、反码和补码。所有数据的运算都是采用补码进行的。原码、反码和不码是建立在二进制的基础上出现的。
7和-7
7的二进制: 00000111
-7的二进制:10000111
原码:
十进制数本身的二进制表示法,最高位为符号位。
符号位 数值位
7的原码: 0 0000111
-7的原码: 1 0000111
反码;
正数的反码,原码一致。负数的反码,符号位不变,数值位按位取反。
符号位 数值位
7的反码: 0 0000111文章来源:https://www.toymoban.com/news/detail-400340.html
-7的反码: 1 1111000
补码:
正数的补码,反码,原码一致。负数的补码,在反码的末位加1。
符号位 数值位
7的反码: 0 0000111
-7的反码: 1 1111001文章来源地址https://www.toymoban.com/news/detail-400340.html
到了这里,关于Java基础:进制之间的转换,8421码,原码,反码,补码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!