一、基本概念

编码

​ 计算机要处理的数据除了数值数据以外,还有各类符号、图形、图像和声音等非数值数据。而计算机只能识别两个数字0,1。要使计算机能处理这些信息,首先必须要将各类信息转换成0与1表示的代码,这一过程称为编码。

数据

​ 能被计算机接受和处理的符号的集合都称为数据。

比特

​ 比特/位 (Bit ——二进制位数)是指1位二进制的数码(即0或1).比特/位 是计算机中表示信息的数据编码中的最小单位。

字节

​ 字节(Byte)是计算机数据处理的基本单位。字节表示被处理的一组连续的二进制数字。通常用8位二进制数字表示一个字节,即一个字节有8个比特组成。

​ 字(word)通常由一个或若干个字节组成。字是计算机进行数据处理时一次存取、加工和传送的数据长度。由于字长是计算机一次所能处理信息的实际位数,所以它决定了计算机数据处理的速度,是衡量计算机性能的一个重要指标,字长越长,计算机的性能越好。

计算机中的数据换算

​ 计算机中数据的换算都是以字节为基本单位以2^10 = 1024为进率。常见的数据单位及其换算关系如下:

单位 KB MB GB TB PB
换算关系 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB 1PB=1024TB

字符的表示

​ 字符是人与计算机交互过程中不可缺少的重要信息。要是计算机能处理、存储字符信息,首先必须用二进制0和1代码对字符进行编码。

ASCII编码

​ ASCII编码是由美国国家标准委员会制定的一种包括数字、字母、通用符号和控制符号在内的字符编码集,全称位美国国家信息交换标准代码(American Standard Code for Information Interchange)。ASCII 码是一种7位二进制编码,能表示2^7=128种国际上最通用的西文字符,是目前计算机中,特别是微型计算机中使用最普遍的字符编码集。

​ ASCII编码包括4类最常用的字符。

  1. 数字“0” ~ “9”.ASCII编码的值分别为0110000B ~ 0111001B,对应十六进制数为30H ~ 39H。

  2. 26个英文字母。大写字母"A" ~ "Z"的ASCII编码值为41H ~ 5AH,小写字母"a" ~ “z”的ASCII编码值为61H ~ 7AH。

  3. 通用符号。如“+” 、“-”、“=”、“ * ”和“/”等共32个。

  4. 控制符号。如空格符和回车符等共34个。

​ ASCII码是一种7位编码,它存储时必须占全一个字节,也即占用8位:b7、b6、b5、b4、b3、b2、b1、b0,其中b7恒为0,其余几位为ASCII码值。

​ 人们可以通过键盘输入和显示器显示不同的字符,但在计算机中,所有信息都是用二进制代码表示的。n位二进制代码能表示2^n个不同的字符,这些字符的不同的组合就可以表示不同的信息。为使计算机使用的数据能共享和传递,必须对字符进行统一的编码。ASCII码和扩充的ASCII码中,把二进制位最高位为0的数字都称为基本的ASCII码,其范围是0 ~ 127;把二进制最高位为1的数字都成为拓展的ASCII码,其范围是128 ~ 255。

内码和外码

内码

​ 对于输入计算机的文本文件,机器是存储其相应的字符的ASCII码(用一个ASCII码存储一个字符需8个二进制位,即一个字节),这些可被计算机内部进行存储和运算使用的数字代码称内码。如输入字符“A",计算机将其转成内码65后存于内存。

外码

计算机与人进行交换的自行符号称为外码,如字符”A“的外码是”A“。通常一个西文字符占一个字节(半角),一个中文字符占两个字节。

汉字信息编码

汉字交换码

​ 汉字交换码是指不同的具有汉字处理功能的计算机系统之间在交换汉字信息时使用的代码标准。自国家标准GB2312-80公布以来,我国一直沿用该标准所规定的国际标准码作为统一的汉字信息交换码(GB5007-85图形字符代码)。

​ GB2312-80标准包括了6763个汉字,按其使用频率分为一级汉字3755个和二级汉字3008个。一级汉字按拼音顺序,二级汉字按部首排序。该标准还包括标点符号、数种西文字母、图形、数码等符号682个。

​ 区位码的区码和位码均采用从01到94的十进制,国标码采用十六进制的21H到73H(数字后面加H表示其为十六进制数)。区位码和国标码的换算关系是:区码和位码分别加上十进制数32。如”国“字在表中的25行90列,其区位码为2590,国标码是397AH。

字形存储码

​ 字形存储码是指计算机输出汉字(显示或打印)用的二进制信息,也称字模。通常,采用的数字化点阵字模。

​ 一般的点阵规模有16 * 16、24 * 24等,每一个点在存储器中用一个二进制位(bit)存储。在16 * 16的点阵中,需8*32bit的存储空间,每8bit为1字节,所以,需32字节的存储空间。在相同点阵中,不管其壁画繁简,每个汉字所占的字节数相等。

​ 为了节省存储空间,普遍采用字形数据压缩技术。所谓矢量汉字,是指用矢量方法将汉字点阵字模进行压缩后得到的汉字字形数字化信息。

图像数据的表示

​ 对于计算机来说,处理和存储只能是二进制数,所以在使用计算机处理和存储图像之前,必须先使用数模转换(A/D)技术将图像数据数字化。

​ 目前图像的数字化途径主要有两类:一类时利用扫描设备对各类图像资料进行扫描,通过扫描仪实现数字化;另一类时通过数码相机直接对景物进行拍摄,数码相机直接将拍摄到的景物数字化。不论哪种途径,数字化过程大体都分为采样、量化和编码三步。

​ 影响图像质量的两个重要参数是图像分辨率和颜色深度,图像分辨率越高,颜色深度越深,则数字化后的图像效果就越逼真,图像数据量就越大。对于一幅图像,其分辨率为M * N,其颜色深度为D,则图像的数据量可利用以下公式计算:

\[图像数据量=(M \times N \times D)\div8(Byte)
\]

例如,一幅1024 * 768的32位彩色图像,其文件大小为1024 * 768 * 32 / 8 = 3145728Byte=3MB。

NOIP初赛篇——07信息编码表示的更多相关文章

  1. NOIP初赛篇——09原码、反码和补码

    一.数的原码.补码和反码表示 机器数和真值 ​ 在计算机中,表示数值的数字符号只有0和1两个数码,我们规定最高位为符号位,并用0表示正符号,用1表示负符号.这样,机器中的数值和符号全"数码化 ...

  2. NOIP初赛篇——02计算机系统的基本结构

    引言 计算机系统由硬件和软件两部分组成,硬件系统是计算机的"躯干",是物质基础.而软件系统则是建立在这个"躯干"上的"灵魂". 计算机硬件 ...

  3. NOIP初赛篇——01计算机常识

    发展历史 年代划分 代别 年代 逻辑(电子)元件 第一代 1946-1958 电子管 第二代 1959-1964 晶体管 第三代 1965-1970 集成电路 第四代 1971-至今 大规模.超大规模 ...

  4. NOIP初赛篇——05计算机语言

    程序 ​ 程序就是一系列的操作步骤,计算机程序就是由人实现规定的计算机完成某项工作的操作步骤.每一步骤的具体内容能够理解的指令来描述,这些指令告诉计算机"做什么"和"怎么 ...

  5. NOIP初赛篇——04计算机软件系统

    计算机软件是指计算机系统中的程序及其文档,也是用户与硬件之间的接口,用户主要通过软件与计算机进行交流,软件是计算机的灵魂.没有安装软件的计算机称为"裸机",无法完成任何工作.一般软 ...

  6. NOIP初赛篇——10计算机网络

    网络的定义 ​ 所谓计算机网络,就是利用通信线路和设备,把分布在不同地理位置上的多台计算机连接起来. ​ 计算机网络是现代通信技术与计算机奇数结合的产物. ​ 网络中计算机与计算机之间的通信依靠协议进 ...

  7. NOIP初赛篇——08计算机安全知识

    引言 ​ 计算机安全中最重要的是存储数据的安全,其面临的主要威胁包括:计算机病毒.非法访问.计算机电磁辐射.硬件损坏等. ​ 计算机病毒是附在计算机软件中的隐蔽小程序,它和计算机其他工作程序一样,但会 ...

  8. NOIP初赛篇——06数制转换

    进位计数制的基本概念 ​ 将数字符号按顺序排列成数位,并遵照某种由低到高的进位方式计数表示数值的方法,称作为计数制. 十进制 十进制计数制由0.1.2.3.4.5.6.7.8.9共10个数字符号组成. ...

  9. NOIP初赛篇——03中央处理器CPU

    CPU ​ CPU(中央处理单元)是微机的核心部件,是决定微机性能的关键部件.20世纪70年代微型机的CPU问世,微型计算机的核心部件微处理器从Intel 4004,80286,80386,80486 ...

随机推荐

  1. pandas LabelEncoder方法,对离散值进行编码,并储存

    # 3.离散值进行LabelEncoder #处理数据的三个步骤,去重,处理缺失值,离散值LabelEncoder from sklearn import preprocessingfrom skle ...

  2. LeetCode初级算法之数组:189 旋转数组

    旋转数组 题目地址:https://leetcode-cn.com/problems/rotate-array/ 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1: 输 ...

  3. 二、java多线程编程核心技术之(笔记)——如何停止线程?

    1.异常法 public class MyThread extends Thread { @Override public void run() { super.run(); try { for (i ...

  4. 微信小程序图片上传和裁剪

    本篇博客用于解决微信小程序图片裁剪问题 图片裁剪常用于头像选择和图片合成等. 图片裁剪解决方案: 目前网络上知名的微信小程序图片裁剪插件是we-cropper(文末有链接) 操作步骤:下载好we-cr ...

  5. springboot:异步调用@Async

    在后端开发中经常遇到一些耗时或者第三方系统调用的情况,我们知道Java程序一般的执行流程是顺序执行(不考虑多线程并发的情况),但是顺序执行的效率肯定是无法达到我们的预期的,这时就期望可以并行执行,常规 ...

  6. js常见正则表达式

    常见正则匹配表达式 export let rege = { //验证URL isUrl: (val) => { if (val == null || val == "") r ...

  7. oracle 11.2.0.4下载

    Oracle 11.2.0.4下载地址 Linux x86: https://updates.oracle.com/Orion/Services/download/p13390677_112040_L ...

  8. Unity GameObject

    GameObject 游戏对象 GameObject是unity所有实体的基类 gameObject 获取当前脚本所挂载的游戏对象 一般来说,在属性视图中能看到或修改的属性,我们同样可以在脚本中获取并 ...

  9. vue第十五单元(熟练使用vue-router插件)

    第十五单元(熟练使用vue-router插件) #课程目标 1.掌握路由嵌套 2.掌握导航守卫 #知识点 #一.路由嵌套 很多时候,我们会在一个视口中实现局部页面的切换.这时候就需要到了嵌套路由. 也 ...

  10. 近期一些使用MATLAB常用的代码

    背景 最近处理行为学数据和fMRI数据,主要使用MATLAB.有一些常用的代码被自己重复使用,所以在此记录,以便于随时调取使用. 1.PVT原生mat文件→txt文件 遇到在处理一些被试的PVT数据时 ...