计算机中的数据存储
计算机的存储规则
计算机中一般有三种数据:Text文本(数字、字母、汉字)、Image图片、Sound声音。
在计算机中,任意的数据都是以二进制的形式进行存储的。
Text文本
常见的进制
十进制
0 1 2 3 4 5 6 7 8 9 逢十进一,借一当十。
二进制
0 1 逢二进一,借一当二。
十进制中的0 --------> 二进制中的0
十进制中的1 --------> 二进制中的1
十进制中的2 --------> 二进制中的10
十进制中的3 --------> 二进制中的11
十进制中的4 --------> 二进制中的100
十进制中的5 --------> 二进制中的101
十进制中的6 --------> 二进制中的110
十进制中的7 --------> 二进制中的111
十进制中的8 --------> 二进制中的1000
十进制中的9 --------> 二进制中的1001
......
八进制
由0~7组成,逢八进一,借一当八。
十六进制
由0~9还有a~f组成,逢十六进一,借一当十六。
不同进制在代码中的表现形式
二进制:由0和1组成,代码中以0b开头。
十进制:由0~9组成,前面不加任何前缀。
八进制:由0~7组成,代码中以0开头。
十六进制:由0~9还有a~f组成,代码中以0x开头。
public class Test{
public static void main(String[] args){
System.out.println(17);//十进制 17
System.out.println(017);//八进制 15
//System.out.println(0b123); 语法报错
System.out.println(0b1111);//二进制 15
System.out.println(0xabc999);//十六进制 11258265
}
}
进制之间的转化
任意进制转十进制
公式:系数 * 基数的权次幂 相加
系数:就是每一位上的数。
基数:当前进制数。
权:从右往左,依次为0 1 2 3 4 5 6 ...
二进制转十进制
8421快速转换法
十进制转任意进制
除基取余法。
不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再讲余数倒着拼起来即可。
ASCII码表
American Standard Code for Information Interchange(美国信息交换标准码表)。
这个表中是没有汉字的,为了让汉字能够出现在编码中,我国在上个世纪八十年代推出了GB 2312——80码表。
GB2312码表:1981年5月1日发布的简体中文汉字编码国家标准。收录7445个图形字符,其中包括6763个汉字。
BIG5编码:台湾地区繁体中文标准字符集,共收录13053个中文字,1984年实施。
GBK编码:2000年3月17发布,收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。
Unicode编码:国际标准字符集(万国码),它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、快平台的文本信息交换。
图片数据
黑白图、灰度图、彩色图。
分辨率
显示器
2K屏分辨率:1920x1080、1998x1080、2048x1080、2048x858。
4K屏分辨率:3840x2160、3996x2160、4096x2160、4096x1716。
像素
像素(Pixel)是数字图像的最小单位,每个像素代表图像中的一个点或位置。它是显示器、电视屏幕和图像文件中用于构建图像的基本元素。像素的数量和排列决定了图像的分辨率和清晰度。高分辨率图像具有更多的像素,从而提供更细致和清晰的图像。
三原色
计算机中的颜色采用光学三原色。
光学三原色:红、绿、蓝。也称为为RGB。
可以写成十进制的表示形式(255,255,255)。
也可以写成十六进制的表示形式(FFFFFF)。
可以给三原色设置值,值越大表示浓度越浓,反之越淡(取值范围0~255)。
声音数据
在计算机中,声音数据主要通过以下步骤存储:
采样:将模拟声音信号转换为数字数据,记录音频信号在不同时间点的值。采样率(如44.1 kHz)决定了每秒采样的次数,影响声音的细节和质量。
量化:将每个采样值映射到一个有限的数字范围内,这个过程决定了声音的动态范围。通常使用16位或24位量化深度。
编码:将采样和量化后的数据转换为数字格式。可以使用未压缩的格式如WAV或压缩的格式如MP3进行存储。未压缩格式保留所有音频数据,但文件较大;压缩格式减少文件大小,但可能影响音质。
这些步骤确保声音数据可以在计算机系统中有效存储和处理。