JavaSE基础(三)

二进制转十进制:   

(计算机底层是以二进制的补码形式进行存储,正数的原码、反码、补码一样

首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数

正数:

拿二进制数10110举例:先补齐=00010110

(计算方法是从右向左依次乘上2的n次幂,n从零开始,^符号表示次幂)

1*2^4+0*2^3+1*2^2+1*2^1+0*2^0=22

负数:

负数需要先取反码,再+1得到补码

0 0001110   =>14的原码

1 0001110  =>-14的原码(14的符号位由0变成1)

1 1110001  =>-14的反码(除符号位外,其他位取反)

1 1110010  =>-14的补码(反码+1)

以上的逆过程就是负数的二进制转十进制:先-1,再符号位不变其余位取反

十进制转二进制:除2取余数 最后把余数倒过来

比如:十进制数37

所以转换成的二进制数字为:100101 

猜你喜欢

转载自blog.csdn.net/weixin_52540274/article/details/118769477
今日推荐