Java-2022-10-09-二进制与十进制的转换

二进制转换成十进制

0111 1111

从右到左  1+(1*2)+(1*2*2)+(1*2*2*2)+(1*2*2*2*2)+(1*2*2*2*2*2)+(1*2*2*2*2*2*2)+0

                =  127

0101 1011

从右到左  1+(1*2)+(0*2*2)+(1*2*2*2)+(1*2*2*2*2)+(0*2*2*2*2*2)+(1*2*2*2*2*2*2)+0

                =   91

1111 1111 -(1+(1*2)+(1*2*2)+(1*2*2*2)+(1*2*2*2*2)+(1*2*2*2*2*2)+(1*2*2*2*2*2*2)+1)

                =  -128

从左到右

第二个数 开始计算 1*2的n次方 至 倒数第二个数,

第一个数 和 倒数第一个数 有1则加1

十进制转换成二进制

77 除2取余 = 101 1001 

从后到前得 100 1101 

自动补0得  0100 1101

        77的二进制是 0100 1101

-53 除2取余 = 10 1011 

从后到前补0得 0011 0101  

负数取反得 1100 1010

补码加1得 1100 1011

        -53的二进制是 1111 1011

你可能感兴趣的:(java)