007 java中不同进制之间的转换

1.所有数字在计算机中都以二进制存在

 

 

 

 二进制到十进制的转换

二进制最高位叫符号位,符号位为1表示负数,符号位为0表示正数

 如何表示一个二进制数的反码和补码?

对于正数:三码合一,反码和补码都等于原码

对于负数

反码:将原码除符号位,其他位取反

补码:将反码加1

 计算机中都是以补码的方式来存储的

可以从补码来反推原码:-69

 

 十进制转换为二进制:除2取余的逆。就像用辗转相除法求最大公倍数/最小公约数一样

比如13对于2,商6余1,再变成6除以2商3余0,写下来101100000,然后再反着读就是这个数的二进制000001101

各个进制之间如何转换呢?

可以通过二进制,然后再互相转

 二进制转换为八进制:从右至左,每三位一算

二进制转换为十六进制:从右至左,每四位一算

其他进制转换为二进制====

八进制转换为二进制,每个数拆成三位二进制的形式再拼到一起

十六进制转换为二进制,每个数拆成四位二进制的形式再拼到一起

 

 Java中,转化为几进制对应的有不同的方法

将i转换为二进制:toBinaryString(int i)

十六进制:toHexString(int i)

八进制:toQctalString(int i)

原文地址:https://www.cnblogs.com/fanglijiao/p/15160466.html