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