变量详解:
变量里的数据在计算机中的存储原理。
二进制:
只有0和1, 按照逢2进1的方式表示数据。
十进制转二进制的算法:
除二取余法。
6是110
13是1101
计算机中表示数据的最小单元:一个字节(byte,简称B,是使用8个 二进制位组成的)。
字节中的每个二进制位就称为位(bit,简称b)1B=8b。
其他数据是如何存储的?
Text文本
Image图片
Sound声音
字符在计算机中是如何存储的呢?
ASCII编码表:即每个美国信息交换标准编码,规定了现代英语、数字字符和其他西欧字符对应的数字编码。
字符的编号:
package cn.ensource.variable;
public class ASCIIDemo1 {
public static void main(String[] args) {
// 目标:掌握ASCII编码表的编码特点
System.out.println('a' + 10); // 97 + 10 = 107
System.out.println('A' + 10); // 65 + 10 = 75
System.out.println('0' + 10); // 48 + 10 = 58
}
}
图片数据-彩色图:
图片是由像素点组成的。
每个像素点的数据:用0~255.255.255表示其颜色。(RGB)
声音数据:
本质上也是存的二进制。
视频数据:
一帧一帧的图片存储数据。还有声音数据。
所以数据的本质就是二进制。
二进制转十进制:
为了便于观察和表示二进制,就推出了八进制和十六进制。
97:0110 0001
八进制:
每三位一组,就是八进制。 141
十六进制:依次用0~9,A、B、C、D、E、F来表示。
每四位一组。十六进制数61表示97。
250: 1111 1010 十六进制:FA
Java程序中支持书写二进制、八进制和十六进制的数据。分别需要以0B或者0b、0、0X或者0x表示。
package cn.ensource.variable;
public class ASCIIDemo1 {
public static void main(String[] args) {
//
int a1 = 0B01100001; //0B开头的是二进制
System.out.println(a1);
int a2 = 0141; //0开头的数据是八进制
System.out.println(a2);
int a3 = 0XFA; //0X开头的是十六进制
System.out.println(a3);
}
}
计算机的数据单位:
计算机表示数据的最小组成单元是:字节,1B=8b。
在B的基础上,计算机发展出来了KB、MB、GB、TB... 这些数据单位。
1B = 8b
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB