共计 1028 个字符,预计需要花费 3 分钟才能阅读完成。
二进制
只有 0,1。依照逢 2 进 1 的形式示意数据。
这里能够从 0 - 5 几个十进制数转换为二进制数开始学习。
0 --> 0
1 --> 1
2 --> 10
3 --> 11
4 --> 100
5 --> 101
6 --> 110
除了下面逢二进一这种算法以外,还能够采纳 除二取余法。
所谓的除二取余,就是用 2 一直的去除十进制的数,失去每一步的余数,而后将所有的余数依照逆序排列即是二进制数。
计算机中的数据最小单位
一般来说,在计算机中会用 8 个二进制位为一组形成计算机中最小的组成单元,也就是字节(byte,简称 B)。
其中每个二进制位称之为一位(bit, 简称 b), 1byte = 8bit,简写 1B=8b。
这里以数字 6 为例,在计算机中用二进制示意,如下:
字符在计算机中是如何存储的
Ascii 编码表:即美国信息替换规范编码,规定了古代英语、数字字符和其余西欧字符对应的数字编号。
计算机通过编码表,将字符转换为数字,数字再转换为二进制进行存储。
二进制转十进制
二进制转换成十进制,能够通过如下的形式进行计算:
下面的图片中,次要是用每一个二进制数 乘以 2 的 n 次幂,最终后果相加即为十进制数。
再比方上面的示例:
八进制和十六进制
为了不便察看和示意,推出了八进制和十六进制。
这里以十进制数字 97 为例:
在上图中,97 的二进制示意为01100001
,为了便于示意,能够把转换成的二进制数字,从右向左每三位分一组,也就变成了 01、100、001, 而后把这三组数字假设为独立的二进制数,那么三组二进制数别离对应的数字为 1、4、1,将这三个数字组合到一起,即为八进制数。
在八进制中,每 3 位二进制作为一个单元,最小数是 0,最大数是 7,共 8 个数字,这就是八进制。
再来说十六进制,每 4 位二进制作为一个单元,最小数是 0,最大数是 15,共 16 个数字,顺次用:0-9 A B C D E F 代表就是十六进制。
例如:
Java 程序中反对二进制、八进制以及十六进制,别离须要以 0B 或者 0b、0、0x 或者 0X 结尾示意。
例如:
// 二进制
int num1 = 0b111;
System.out.println(num1); // 7
// 八进制
int num2 = 0141;
System.out.println(num2); // 97
// 十六进制
int num3 = 0xFA;
System.out.println(num3); // 250
数据单位
计算机存储最小的组成单位是字节,1byte 等于 8bit,也就是 1B=8b。
在 B 的根底上,计算机倒退出了 KB、MB、GB、TB… 这些数据单位。
数据类型