一、基本概念

编码

​ 计算机要处理的数据除了数值数据以外,还有各类符号、图形、图像和声音等非数值数据。而计算机只能识别两个数字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. 在.Net中所有可序列化的类都被标记为_

    [Serializable] 这个叫Attribute写在类.属性.字段的上面,比如 [Serializable] class A { ... }

  2. 移动端和PC端区分

    1.移动端包括:浏览器.ios/android.qq端.微信端 九度数据官网源码.修改,要跳转的链接即可. function browserRedirect() { var sUserAgent = ...

  3. C++ 虚函数表与多态 —— 关键字 final 的用法

    final 字面上最终.最后.不可改变的意思,final 这个关键字在 Jave PHP C++中都有用到,其作用也基本一致. C++中的 final 是C++11新增,他可以用来修饰类,让类无法被继 ...

  4. 双向数据绑定 v-model

    双向数据绑定 就是既可以从页面传到数据也可以从数据到页面 初始运行结果为: 在输入框 更改数据 相应的输入框上的也会相对改变 然后再试试利用控制台更改数据 可以看到数据也被改变了 而且输入框中的内容也 ...

  5. Spring Data JPA 的 Specifications动态查询

    主要的结构: 有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询. ...

  6. 阿里云Centos7.6上面部署基于redis的分布式爬虫scrapy-redis将任务队列push进redis

    Scrapy是一个比较好用的Python爬虫框架,你只需要编写几个组件就可以实现网页数据的爬取.但是当我们要爬取的页面非常多的时候,单个服务器的处理能力就不能满足我们的需求了(无论是处理速度还是网络请 ...

  7. pytorch固定BN层参数

    背景:基于PyTorch的模型,想固定主分支参数,只训练子分支,结果发现在不同epoch相同的测试数据经过主分支输出的结果不同. 原因:未固定主分支BN层中的running_mean和running_ ...

  8. PHP比较数组、对象是否为空

    PHP简单对比对象.数组是不是为空: 1 <?php 2 /*简单的比较对象和数组是不是为空*/ 3 4 #定义空类EmptyClass 5 class EmptyClass{} 6 7 $em ...

  9. 关于新创公司所需的icp,网文,软著和备案的申请

    刚从一个集团离职来到了创业团队,前期是什么都没有,甚至是公司名字都不知道,哈哈.所以就有了后面的坑踩了一遍又一遍.刚开始是在霍尔果斯注册,结果办icp费了半年的时间,东找西找还没下证.又碰上新疆严查不 ...

  10. 不同程序语言处理加密算法的性能对比(PHP/Golang/NodeJS)

    首先上我最常用且最易用的PHP来做下测试 <?php function test_encrypt($fun, $max) { $begin = microtime(TRUE); $pwdpre ...