怎样写代码 编码是什么意思

计算机设计的最初目的是进行数值计算,在计算机中首先表现出来的数据是各种数字信息 。随着应用的发展,计算机数据现在以不同的形式出现,如数字、文字、图像、声音和视频 。然而,在计算机内部,这些数据形式仍然以数字形式存储和处理 。
各种信息都是用数字按照一定的规则进行编辑,最后转化成计算机容易识别的信息 。这个过程被称为数字编码 。用几个最简单的基本符号,有规律地组合大量复杂多样的信息 。
编码的两个基本要素:
基本符号的类型(如二进制“0”和“1”)
组合规则
现代计算机使用二进制符号来编码信息 。
1计算机中数据的表示任何二进制数n都可以表示为
N=S2^E
其中E是一个二进制整数,称为n的阶码,2是洪都博客阶码的基数,s是一个二进制小数,称为n的尾数 。E和s可以是正数也可以是负数 。尾数S表示数字N的所有有效数据,顺序码E表示数字的小数点位置,表示数据的大小范围 。
整数2的表示整数是没有小数部分的整数 。
比如:123,4,-56,0等 。都是整数,而1.34不是 。
计算机整数的分类:
无符号整数:不区分正负的正整数 。
有符号整数:最高位表示正负的整数 。
2.1整数的原码、补码和补码
2.1.1整数的原始代码
所谓源代码,就是用一个数的最高位存储符号(0为正,1为负),后续其他位与该数的真值相同的一种数据表示方法 。
整数的倒数
用最高位存储符号,其余位逐位反转原码 。逆码的值空与原码的值相同,并且一一对应 。
整数的补码
在补码记法中,正数的补码表示与原码相同,即最高符号位为0,其余位为数值位 。负数的补数是它的补数,它是通过在最低有效位加1形成的 。
我们在编程语言中使用数据的原始代码,但数据在计算机中是以补码的形式存在的 。
2.1.4三个代码的比较
三个码A(原码、反码和补码)的最高位是符号位 。
当B的真值为正时,三个码的符号位都用0表示,数值部分与真值相同 。也就是说,它们以相同的方式表示 。
当C的真值为负时,三个码的符号位都用1表示,但数值部分的表示方式不同 。数值部分有如下关系:补码是原码的“逆加1”(整数)或“逆加1”(小数);逆代码是原始代码的“每个比特的逆” 。
C能表示的数据范围基本相同 。
区别:负数的表达方式不同 。
2.2整数算术运算的方法
以补数形式计算 。
实数3的表示实数是由整数部分和小数部分组成的数 。
比如1.23,3.4,0.56都是实数 。
小数点不固定,所以叫浮点 。它是一个既有整数又有小数的数,纯小数可以看作是实数的特例 。
在计算机中,浮点符号(通常是IEEE754标准)用于表示实数 。
3.1实数的格式
为了统一记数法的固定部分,科学记数法(十进制)和浮点记数法(二进制)都在小数点左边使用唯一的非零数字 。这叫正常化 。
当计算机表示一个实数时,它只存储实数信息的三个部分:符号、指数和尾数(小数点右边的位) 。小数点左边的位1和定点部分不被存储——它们是隐式的 。
例如,实数1000111.0101归一化后变成:2 6101,100000000006
在计算机中,它表示为:
符号-数字的符号可以用二进制位(0或1)存储 。
指数-指数(2的幂)定义为小数点移动的位数 。它可以是积极的,也可以是消极的 。编码符号(稍后讨论)是一种用于存储指数位的方法 。
尾数-尾数是指小数点右边的二进制数 。它定义了数字的精度 。尾数存储为无符号整数 。
为了允许正整数和负整数都作为无符号数存储,计算机通常采用coda系统 。在codex系统中,一个正整数(称为偏移量)被添加到每个数字,以将它们移动到非负侧 。这个偏移量的值是2 (m-1)-1,m是存储单元的存储索引 。
比如32位计算机的偏移量:2 (m-1)-1 = 2 (8-1)-1 = 127
3.2实数的算术运算
实数(浮点数)也可以进行包括加、减、乘、除在内的算术运算 。我们只介绍加减,因为乘除是加减的重复运算 。
浮点数的加法和减法是同一个过程 。步骤如下:
检查符号 。如果符号相同,则将它们的值相加,得到的符号与它们相同 。如果符号不同,比较绝对值,从大的中减去小的,结果符号将是具有大的那个 。
移动小数点,这样两者的顺序相同 。也就是说,当顺序不同时,较小的一个会将小数点左移,但保持数值不变 。
c加减转换后的值(包括整数和小数部分) 。
4字符编码随着现代计算机应用的深入,计算机不仅进行科学计算,实际上更多的工作是用来处理人们日常工作和生活中最常用的信息形式,即所谓的非数值数据,包括语言、逻辑语言、视频图像等非数值信息 。有必要为计算机找到一种合适的方式来表达这些信息 。
计算机中使用不同的代码来表示和存储数字、文本符号、声音、图片和图像(视频)信息 。
代码(或Code)通常是指在人和机器之间进行信息转换的系统(体系) 。编码是人们在实践中逐渐创造的用较少的符号表达更复杂信息的一种表示方法 。
4.1 ASCII码
字符是非数值数据的基础,字符和字符串数据是计算机中应用最广泛的非数值数据 。在使用计算机的过程中,人们需要用字符和字符串来编写程序,表达文字和各种信息,以便与计算机进行交流 。为了使计算机硬件能够识别和处理字符,字符必须按照一定的规则进行二进制编码,使系统中的每个字母都有唯一的编码;文中还有数字和标点符号,所以也必须编码 。
1)ASCII码是使用最广泛的字符码,即美国信息交换标准码 。
2)ASCII码有两种形式:7位码和8位码 。
3)7位ASCII码:如果用7位二进制数编码,可以表示128个字符,最高位始终为0 。
4)8位ASCII码:用8位二进制数编码,可代表256个字符;当最高位常数为0,与7位ASCII码相同时,称为基本ASCII码;当最高位为1时,就形成了一个扩展的ASCII码,一般作为各国国家语言的字符码 。
5)数字0~9,52个大小写英文字母A ~Z,a ~z,32个标点符号,操作符号,特殊符号,键盘输入的34个控制符号,用7位ASCII码编码 。
4.2汉字编码
汉字也是文字 。与西文相比,汉字数量多、字形复杂、同音字多,给汉字在计算机中的存储、传输、交换、输入和输出带来了一系列问题 。为了使用西文标准键盘直接输入汉字,需要为汉字设计相应的输入码,以满足中计算机处理汉字的需要 。
汉字信息中涉及的代码:
4.2.1汉字输入编码
汉字输入通常包括键盘输入、语音输入和手写输入,这三种方式都有一定的优缺点 。键盘输入法:每个汉字用一个或几个英文键表示,称为汉字的“输入编码” 。
汉字输入码类型:
编码:如电报代码、区号等 。特点:难记难普及;
语音编码:如拼音码等 。特点:易学,但重码多;
字形编码:如吴彼字体、形码等 。特点:重码少,输入快,但不易掌握;
语音编码:如自然码、快码等 。特点:规则简单,重码少,但不易掌握 。
4.2.2国际代码和区号
1980年,我国颁布了《信息交换用汉字基本字符集》,代号为GB2312-80,是国家为汉字信息处理规定的代码基础 。这种代码称为国家标准代码 。国家标准码字符集共收录6763个常用汉字和682个非汉字(数字和符号),其中按汉语拼音顺序排列的一级汉字3755个,按偏旁部首顺序排列的二级汉字3008个 。
所有汉字用2个字节表示,上字节分为94个区(01 -94区),下字节分为94位(01-94位) 。汉字所在的区号和位数组合起来构成汉字的区号,区号为十进制 。
非汉字图形字符排在01-15区;
一级汉字排在16-55区;
二级汉字排在56-87区;
例:“中”区号为54,位置号为48,位置代码为5448 。
“国家”区号是25,位置号码是90,位置代码是2590 。
国标代码转换:汉字区号用十六进制表示,加2020H 。
即国标码=(区号和位码)16+2020H 。
内部代码
汉字内码是计算机系统中存储、处理和传输汉字的统一代码,也称汉字内码 。汉字的内码对应的是ASCII码,用来对汉字进行二进制编码 。
一般用两个字节来存储汉字的内码,即双字节字符集(DBCS) 。
4.2.4矢量和点阵输出代码
vector方法存储描述字体的轮廓信息 。
点阵是汉字字体点阵数字化后的一串二进制数,又称汉字字码或字体 。
一般1616点阵用于显示,2424,3232,4848点阵用于打印 。
点阵越多,打印出来的字体越好看,但是占用的存储空越多 。
4.2.5汉字的整个处理过程
4.3 Unicode代码
虽然ASCII码在字符编码领域占据主要地位,但现在其他更具可扩展性的代码也越来越流行,它们可以用各种语言表示文档 。其中之一是Unicode,它是由几个领先的硬件和软件制造商联合开发的,并很快获得了计算社区的支持 。
Unicode使用唯一的16位模式来表示每个符号 。因此,Unicode由65,536种不同的位模式组成——足以表示用中文、日文、希伯来文和其他语言编写的文档,这是Unicode相对于ASCII的最大优势 。
Unicode Unicode Unicode又称通用码,是为满足跨语言、跨平台的文本转换和处理要求而设计的计算机字符编码 。它为每种语言中的每个字符设置了统一且唯一的二进制代码 。Unicode编码方式对应ISO10646通用字符集(也叫通用字符集)的概念,使用16位编码空 。也就是说,每个字符占用2个字节 。
对于中文,Unicode16已经包含了GB18030中的所有中文字符(27,484个单词) 。
Unicode是从ASCII字符集扩展而来的 。它采用16位编码,并可扩展至32位,这使得Unicode可以代表世界上所有书面语言中可能用于计算机通信的字符、象形文字和其他符号,这使得它有可能成为ASCII的替代品 。
UTF-8是互联网上使用最广泛的Unicode实现之一 。其他实现还有UTF-16(字符用两个字节或四个字节表示)和UTF-32(字符用四个字段表示),但在互联网上基本不用 。同样,这里的关系是UTF-8是Unicode的实现之一 。
UTF-8最大的特点之一是它是一种可变长度的编码方法 。它可以用1~4个字节来表示一个符号,字节长度根据符号的不同而不同 。
UTF-8的编码规则很简单,只有两条:
1)对于单字节符号,字节的第一位设置为0,后7位为该符号的Unicode编码 。因此,对于英文字母,UTF-8编码和ASCII编码是相同的 。
2)对于n字节(n > 1)的符号,第一个字节的前n位全部设置为1,第n+1位设置为0,后面字节的前两位全部设置为10 。其余未提及的二进制位都是该符号的Unicode编码 。
5静止图像编码静态图像是与动态图像相对应的概念,指的是单张图片 。它是计算机广泛使用的一种主要信息形式 。
表示电脑静止图像的两种方式:
位图图像
矢量图
由于静态图像数据包含的信息量大,其信息具有一定的规律,一般不采用直接编码的方式进行编码,而是经常采用一些压缩算法来表示图像信息 。
5.1位图图像
在位图图像表示方法中,图像被分成像素矩阵,也称为点阵,每个像素是一个点 。像素大小取决于分辨率 。
将图像分成像素后,每个像素被分配一个位模式 。图案的大小和值取决于图像 。
比如,对于一个只由黑白点组成的图像(比如棋盘),1位的图案就足以代表一个像素的 。0模式表示黑色像素,1模式表示白色像素 。如果使用8位,可以表示256种颜色信息 。
位图文件的基本编码格式是BMP(位图的缩写)文件 。BMP是一种独立于硬件设备的图像文件格式 。
TaggedImageFileFormat (TIFF)格式是图像领域广泛使用的编码形式,主要用于存储照片、艺术图纸等对图像质量要求较高的平面图像 。它也是一种位图文件格式 。
位图文件的方法,体积太大,给计算机的存储和传输带来很大压力 。
静态图像文件信息有一定的规律 。在保证其基本信息正确的前提下,可以通过一定的算法适当减小图像文件的大小 。
为了存储和传输数据,在保持原始内容的同时减少所涉及的数据的大小是有益的(有时是必要的) 。这项技术被称为数据压缩 。有两种类型的数据压缩方案 。一个是无损压缩,一个是有损压缩 。
无损压缩:指压缩后信息表达质量不降低,但文件大小减小 。
有损压缩是指在不影响信息表达质量的前提下,尽可能减小文件大小,以提高压缩效率 。
5.2矢量图
位图表示的问题是,在用精确的位模式表示后,特定的图像必须存储在计算机中 。然后,如果你想调整图像的大小,你必须改变像素的大小,这将动摇屏幕 。
矢量表示法不存储位模式,而是将图像分解成一些曲线和直线的组合,其中每条曲线或直线用一个数学公式表示 。
当要显示或打印图像时,图像的大小作为输入被传输到系统 。系统重新设计图像尺寸,用同样的公式绘制图像 。
每次调整矢量图片时,计算机都会重新评估绘制公式,并根据新的公式绘制图像 。由于重估公式的计算量远小于调整后的像素,因此可以有效避免屏幕抖动 。
6动态数据的编码随着计算机使用的深入,涉及的信息类型越来越广泛,不仅包括静态信息,还包括声音、动画、图像等动态信息 。
计算机动态信息根据其表达方式可分为两类:
音频信息
视频信息
6.2音频信息的编码
音频编码方式有两种:非压缩编码和压缩编码,压缩编码又分为有损压缩和无损压缩 。基本音频编码是PCM(脉冲解调) 。
PCM的优点和缺点:
优点:处理后的音频信息音质好 。
缺点:文件大小较大 。
MP3(mpegudiolayer-3)是目前最流行的音频压缩编码格式,是MPEG1的衍生编码方案 。MP3可以做到12:1的压缩比,保持音质基本可以接受 。
6.2视频信息的编码
视频是单个图像在时间上的连续表示,是典型的动态数据类型 。
动态视频的基础是前面讨论的静态单幅图像,这里称为帧 。动态视频压缩的基本理论是基于帧间的相关性对单幅图像进行进一步压缩 。
最有影响力的视频编码技术是MPEG(运动图像专家组),属于国际标准化组织(ISO/IEC) 。有五种MPEG标准:MPEG-1、MPEG-2、MPEG-4、MPEG-7和MPEG-21 。
MPEG的标准视频压缩编码技术主要使用带运动补偿的帧间压缩编码技术来减少时间冗余,使用DCT技术来减少空图像之间的冗余,使用熵编码来减少信息表示中的统计冗余 。
7计算机中数字、文字、图像、声音和视频的表示和编码
【怎样写代码 编码是什么意思】-结束-