二进制
二进制
二进制概述
计算机底层只能识别二进制。计算机底层只识别二进制是因为计算机内部的电子元件只能识别两种状态,既开和关,或者高电平和低电平。二进制正好可以用两种状态来表示数字和字符,因此成为了计算机最基本的表示方式。在计算机内部,所有的数据都被转化为二进制形式进行处理和存储。虽然计算机可以通过不同的编程语言和程序来处理不同的数据类型和格式,但最终都需要将其转化为二进制形式才能被计算机底层识别和处理
什么是二进制
十进制:满十进一
二进制:满二进一
十进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
二进制 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
十进制转二进制
将十进制数除以 2,得到商和余数
将余数记录下来,然后将商作为新的十进制数,重复步骤 1,直到商为 0 为止
将记录的余数从下往上排列,得到的就是对应的二进制数
二进制转十进制
将二进制数的每一位权值找出来,然后每个权值与对应二进制位相乘,最后将它们相加,即可得到十进制数
什么是权值?
在二进制中,权值指的是每个位所代表的数值大小,既二进制中每个位的位置所代表的十进制数值的大小
例如,在二进制数 1111 中,最高位的权值为 8(2^3),次高位的权值为 4(2^2),第三位的权值为 2(2^1),最低位的权值为 1(2^0)
例如,二进制数 1101 转换为十进制数的计算过程如下:
1 * 2 ^ 3 + 1 * 2 ^ 2 + 0 * 2 ^ 1 + 1 * 2 ^ 0 = 8 + 4 + 0 + 1 = 13
/**
* 二进制与十进制的转换:
*
* 1. 十进制如何转换为二进制?
* 除2取余,一直到商0为止,最后将所有的余数逆序输出
* 将75转换成二进制:1001011
*
* 2. 二进制如何转换为十进制?
* 每一位与权值相乘,最后求和
* 将二进制1001011转换成十进制:75
*/
public class BinaryTest {
public static void main(String[] args) {
// 这是一个二进制的字面量
// 二进制的字面量需要以 0b 开头,JDK7 才开始支持 0b 写法,在这之前的版本都不支持
System.out.println(0b1001011); // 75
}
}
Powered by Waline v3.0.0-alpha.11