Java攻城狮的入门课程程序员

(一)进制转换

2017-02-20  本文已影响94人  黒猫

1、常用进制

以十进制的整数77为例:

二进制(BIN) | 八进制(OCT) | 十进制(DEC)| 十六进制(HEX)
----|------|----
0100 1101 | 115 | 77| 4D


2、进制解析

1. 八进制:一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢8进1。八进数和二进制数可以按位对应,其中八进制的一位对应二进制的三位。
例:


2. 十六进制:一种以16为基数的计数法,它由0-9,A-F组成,字母不区分大小写。十六进制与十进制的对应关系是为0-9对应0-9,A-F对应10-15。十六进数和二进制数可以按位对应,其中十六进制的一位对应二进制的四位。
例:

3、转换方式

此处仅以二进制为例,八进制与十六进制的原理相通,将二进制转换方式中的2分别改为8或16即可,至于二进制、八进制、十六进制之间的相互转化以及涉及到小数部分的转化过于复杂且不适合用这种转换方式,以后可以靠代码完成。

1. 十进制转二进制:除以2取余,逆序排列。
例:将十进制数6转为二进制数,结果为110。


2.二进制转十进制:按权展开求和。
例:将二进制数1010转为十进制数,结果是10。

计算过程为1x2³+0x2²+1x2¹+0x2º=10,即按二进制数左向右开始,每个数位上的数,乘以2的该数所在位数减一次幂,之后所有的得数相加即可。

3.十进制负数的二进制:十进制正数的二进制取反加一。
这里先引入几个概念:

原码:一个十进制整数按照绝对值大小转换成的二进制数称为原码。
反码:将二进制数按位取反,所得的新二进制数称为原码的反码。
补码:反码加一称为补码。

例:求十进制数-6的二进制数,结果为1111 1010。
按照上述过程,先写出所求十进制负数的正数的二进制,即为原码;之后进行按位取反获得反码;最后加一,即可得结果。



版权声明:欢迎转载,欢迎扩散,但转载时请标明作者以及原文出处,谢谢合作!             ↓↓↓
上一篇下一篇

猜你喜欢

热点阅读