­

IT兄弟连 Java语法教程 数据类型 进制转换

  • 2019 年 10 月 5 日
  • 筆記

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/ITXDL123/article/details/94378289

● 正十进制转换为二进制

拆分法,将十进制整数拆分为若干个二进制权重的和,若有该权重则下面写1,否则写0。如:

34 = 32 + 2

128 64 32 16 8 4 2 1

0 0 1 0 0 0 1 0 => 0010 0010

● 正二进制转换为十进制

加权法,让二进制的每个数字乘以当前位的权重,再将所有乘机累加起来即可。如:

0010 0010 => 0*27 + 0*26 + 1*25 + 0*24 + 0*23 + 0*22 + 1*21 + 0*20

=> 0 + 0 + 32 + 0 + 0 + 0 + 2 + 0

=> 34

● 负十进制转换为二进制

将负十进制整数的绝对值转换为二进制,然后按位取反再加1。如:

−34转换为二进制的结果:

34转换为二进制:0010 0010

按位取反:1101 1101

再加一:1101 1110

● 负二进制转换为十进制

先减一再按位取反,然后采用加权法合并为十进制整数,最后添加负号。如:

1101 1110转换为十进制:

先减一:1101 1101

按位取反:0010 0010

合并十进制整数:34

最后再添加负号:−34