0


Java基础:进制之间的转换,8421码,原码,反码,补码

1平时的数一般都是用十进制表示的

十进制:

12345=10000+2000+300+40+5

=110^4+210^3+310^2+410^1+5*10^0

=110000+21000+3100+410+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=12^2+02^1+0*2^0

=4+0+0

=4

十进制:4

八进制的100转换为十进制:

0100=18^2+08^1+1*8^1

=64+0+0

=64

十进制:64

十六进制的100转换为十进制:

0X100=116^2+016^1+0*16^0

=256+0+0

256

十进制:256

任意进制之间的转换:

1.以十进制作为桥梁

0b100110转换为八进制:

先转换为十进制:

0b100110=12^5+02^4+02^3+12^2+12^1+02^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

-7的反码: 1 1111000

补码:

正数的补码,反码,原码一致。负数的补码,在反码的末位加1。

                符号位                   数值位

7的反码: 0 0000111

-7的反码: 1 1111001

标签: java p2p wpf

本文转载自: https://blog.csdn.net/qq_63531507/article/details/122316031
版权归原作者 一颗车厘子854 所有, 如有侵权,请联系我们删除。

“Java基础:进制之间的转换,8421码,原码,反码,补码”的评论:

还没有评论