计算机中的字符编码
计算机中的常用编码

计算机中的常用编码计算机中的常用编码字符又称为符号数据,包括字母和符号等。
计算机除处理数值信息外,大量处理的是字符信息。
例如,将高级语言编写的程序输入到计算机时,人与计算机通信时所用的语言就不再是一种纯数字语言而是字符语言。
由于计算机中只能存储二进制数,这就需要对字符进行编码,建立字符数据与二进制数据之间的对应关系,以便于计算机识别、存储和处理。
1. ASSII码目前,国际上使用的字母、数字和符号的信息、编码系统种类很多,但使用最广泛的是ASCII码(American Standard Code for Interchange)。
该码开始时是美国国家信息交换标准字符码,后来被采纳为一种国际通用的信息交换标准代码。
ASCII码总共有128个元素,其中包括32个通用控制字符,10个十进制数码,52个英文大、小写字母和34个专用符号。
因为ASCII码总共为128个元素,故用二进制编码表示需用7位。
任意一个元素由7位二进制数D7D6D5D4D3D2D1表示,从0000000到1111111共有128种编码,可用来表示128个不同的字符。
ASCII码是7位的编码,但由于字节(8位)是计算机中常用单位,故仍以1字节来存放一个ASCII字符,每个字节中多余的最高位D7取为0。
表1-3所示为7位ASCII编码表(省略了恒为0的最高位D7)。
表1-3 7位ASCII编码表要确定某个字符的ASCII码,在表中可先查到它的位置,然后确定它所在位置相应的列和行,最后根据列确定高位码(D6D5D4),根据行确定低位码(D3D2D1D0),把高位码与低位码合在一起就是该字符的ASCII码(高位码在前,低位码在后)。
例如,字母A的ASCII码是1000001,符号"+"的ASCII码是0101011。
ASCII码的特点如下。
编码值0~31(0000000~0011111)不对应任何可印刷字符,通常为控制符,用于计算机通信中的通信控制或对设备的功能控制;编码值为32(0100000)是空格字符,编码值为127(1111111)是删除控制DEL码;其余94个字符为可印刷字符。
常用的中文编码

常用的中文编码一、引言在计算机领域,中文编码起着至关重要的作用。
无论是输入、输出、存储还是网络传输,都离不开编码的转换。
为了让计算机能够识别和处理中文,我国制定了多种中文编码标准。
接下来,我们将详细介绍几种常用的中文编码,以便大家更好地理解和应用。
二、常用的中文编码概述1.GBK编码GBK(全称为:汉字内码扩展规范)是我国制定的一种汉字编码标准。
它兼容GB2312编码,可以表示大部分现代汉字。
GBK编码的字符集分为两个部分:基本集和扩展集。
基本集包含了GB2312编码中的所有汉字,共计6763个;扩展集则增加了更多的汉字,共计21003个。
GBK编码在我国的政府部门、企事业单位以及众多软件中得到了广泛应用。
2.GB2312编码GB2312编码是我国最早制定的一种汉字编码标准,于1980年发布。
它包含了6763个汉字,主要覆盖了现代汉字的基本需求。
GB2312编码的字符集分为两个部分:基本集和辅助集。
基本集包含了6763个汉字,辅助集则包含了一些特殊符号和拉丁字母。
GB2312编码在我国历史上发挥了重要作用,如今在很多场合仍然可以看到它的身影。
3.BIG5编码BIG5编码(全称为:大五码)是台湾地区制定的一种汉字编码标准。
它包含了13068个汉字,主要覆盖了现代汉字和一些繁体字。
BIG5编码在台湾地区及其周边地区广泛应用,是许多台湾出版的书籍、软件和网站的标准编码。
在大陆地区,BIG5编码也逐渐被GBK和UTF-8编码所取代。
4.UTF-8编码UTF-8编码是一种国际通用的编码标准,可以表示世界上几乎所有的字符集,包括中文、英文、数字、特殊符号等。
UTF-8编码具有兼容性、高效性和扩展性等优点,成为了互联网上最常用的编码之一。
许多国际化的软件和网站都采用UTF-8编码作为默认的字符集。
在我国,UTF-8编码也逐渐成为了一种重要的编码选择。
三、编码转换实例在日常生活中,我们可能会遇到不同编码之间的转换需求。
计算机中字符的编码

计算机中字符的编码一个二进制数位简称为位(英文名称为bit)。
计算机中最直接、最基本的操作就是对二进制位的操作。
一个二进制位可表示两种状态(0或1)。
两个二进制位可表示四种状态(00,01,10,11)。
位数多,所表示的状态就越多。
ASCII 码ASCII 码是美国信息交换用标准代码(American Standard Codefor Information Inte rchange)。
ASCII码虽然是美国国家标准,但它已被国际标准化组织(ISO)认定为国际标准,为世界公认,并在世界范围内通用。
ASCII码用一个8位二进制数(字节)表示,每个字节只占用了7位,最高位恒为0。
7位ASCII码可以表示128(27=128)种字符,其中通用控制字符34个,阿拉伯数字10个,大、小写英文字母52个,各种标点符号和运算符号32个。
编码范围二进制十进制十六进制基本ASCII 码00000000~011111110~1270~7F控制字符00000000~00100000、011111110~32、1270~1F、7F数字00110000~0011100148~5730~39大写字母01000001~010*******~9041~5A小写字母01100001~0111101097~12261~7A当最高位为0时,称为基本ASCII码,当最高位为1时,形成扩充的ASCII码,它表示数的范围为128~255,可表示128种字符。
通常各个国家都把扩充的ASCII码作为自己国家语言文字的代码。
汉字编码我国用户在使用计算机进行信息处理时,一般都要用到汉字。
由于汉字是象形文字,字的数目很多,常用汉字就有3000~5000个,加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定的符号将汉字完全表示出来,或像英文那样将汉字拼写出来。
汉字必须有它自己独特的编码。
1. 汉字信息交换码(国标码)《信息交换用汉字编码字符集·基本集》是我国于1980年制定的国家标准GB2312-80,代号为国标码,是国家规定的用于汉字信息处理使用的代码依据。
汉字字符的编码范围 -回复

汉字字符的编码范围-回复汉字字符的编码范围,是指用于表示汉字的字符编码的范围。
在计算机中,常用的汉字字符编码方式有GBK、GB2312、Big5、Unicode等。
这些编码方式用于将汉字字符转换为计算机可以识别和储存的数字代码,以便于计算机进行处理和显示。
首先,让我们来了解一下GBK编码和GB2312编码。
GBK编码是中国国家标准GB 2312-1980的扩展,包含了全部的中文汉字字符以及繁体汉字;GB2312编码是最早的汉字字符集,只包含了简体中文的6763个常用字。
它们的编码范围分别是0x8140至0xFEFE和0xA1A1至0xFEFE。
在计算机发展的过程中,为了统一不同国家和地区的字符编码,出现了Unicode编码,它使用16位或32位来映射世界上几乎所有的字符,包括汉字。
Unicode的编码范围是0x4E00到0x9FA5,这个范围包含了绝大部分的中文汉字。
然而,由于Unicode编码通常使用16位字符表示,这导致了一些问题,比如存储空间的浪费。
为了解决这个问题,出现了UTF-8编码。
UTF-8是一种针对Unicode的可变长度字符编码,可以用一个字节或多个字节来表示一个字符,根据字符的不同而变化。
对于汉字,UTF-8编码通常使用3个字节表示。
UTF-8编码的汉字字符范围是0xE4B880至0xEEA5BF。
除了以上介绍的常用编码方式外,还有一种比较特殊的编码方式是Big5编码。
Big5编码主要用于繁体中文,它的字符范围覆盖了繁体中文的所有字符。
Big5编码的汉字字符范围是0xA440至0xC67E和0xC940至0xF9D5。
对于这些不同的汉字字符编码范围,计算机内部会将汉字字符转换为对应的编码值进行存储和处理。
当需要显示汉字时,计算机则会根据字符编码值,选择对应的字形进行显示。
这也是为什么在不同的字符编码下,同一个字符可能会有不同的显示效果。
总结起来,汉字字符的编码范围包括GBK编码的0x8140至0xFEFE,GB2312编码的0xA1A1至0xFEFE,Unicode编码的0x4E00至0x9FA5,UTF-8编码的0xE4B880至0xEEA5BF,以及Big5编码的0xA440至0xC67E和0xC940至0xF9D5。
计算机常用编码

计算机常用编码一、字符编码字符编码是将字符集中的每个字符与一个唯一的数字码相对应的过程。
常见的字符编码标准包括ASCII码、Unicode、GB2312、GBK和UTF-8等。
ASCII码是最早的字符编码标准,它将128个字符分配了0-127的码值。
Unicode则是一个跨平台的字符编码标准,它为每个字符提供了一个唯一的码值,适用于国际化的应用。
GB2312和GBK是中国常用的字符编码标准,支持中文字符的编码。
UTF-8是一种可变长度字符编码,它支持多种语言字符,并且兼容ASCII码。
二、数值编码数值编码是指将数值数据转换为二进制或其他进制表示的过程。
常见的数值编码方式包括二进制、十进制、十六进制等。
二进制是计算机内部处理数据的格式,所有的信息都被表示成二进制形式。
十进制是我们日常使用的数字表示方式,而十六进制则是一种简化的数字表示方式,它使用数字0-9和字母A-F来表示数值。
三、图像编码图像编码是指将图像数据转换为二进制或其他进制表示的过程。
常见的图像编码方式包括JPEG、PNG、BMP等。
JPEG是一种有损压缩的图像编码格式,广泛应用于网络和多媒体应用中。
PNG是一种无损压缩的图像编码格式,支持透明度和渐变效果。
BMP是一种简单的图像编码格式,它是未经压缩的位图格式。
四、音频编码音频编码是指将音频数据转换为二进制或其他进制表示的过程。
常见的音频编码方式包括MP3、AAC、WAV等。
MP3是一种有损压缩的音频编码格式,广泛应用于音乐和语音的存储和传输中。
AAC是一种高级音频编码格式,支持更高的音质和更高效的压缩。
WAV是一种无损压缩的音频编码格式,支持多种音频采样率和位深度。
五、视频编码视频编码是指将视频数据转换为二进制或其他进制表示的过程。
常见的视频编码方式包括MPEG、AVI、MOV等。
MPEG是一种有损压缩的视频编码格式,广泛应用于视频存储和传输中。
AVI是一种无损压缩的视频编码格式,支持多种视频分辨率和帧率。
计算机常用的编码

计算机常用的编码一、字符编码字符编码是用于将字符集(如英文字母、数字、标点符号等)转换为计算机可以理解的二进制数的一种方式。
以下是几种常见的字符编码:1.ASCII码:ASCII码是用于将字符集转换为二进制数的标准编码方式。
它包含了128个不同的字符,每个字符由7位二进制数表示。
2.Unicode:Unicode是一种国际化的字符编码标准,它包含了世界上几乎所有语言的字符。
每个Unicode字符由16位二进制数表示。
3.GB2312和GBK:GB2312是中国国家强制标准,包含了6000多个常用汉字和英文符号。
GBK是在GB2312基础上扩展的,包含了更多的汉字和符号。
4.UTF-8:UTF-8是一种可变长度的字符编码,它能够表示任何Unicode字符。
UTF-8编码的每个字符由1到4个字节表示,对于英文字母和数字,UTF-8编码与ASCII码相同。
二、数值编码数值编码是用于将数值转换为二进制数的一种方式。
以下是几种常见的数值编码:1.二进制:二进制是最简单的数值编码方式,只有0和1两种状态。
2.十进制:十进制是我们日常使用的数值编码方式,它有0到9共10个数字。
3.十六进制:十六进制是一种简化的数值编码方式,它有0到9和A到F共16个数字。
在计算机科学中,十六进制常用于表示二进制数的简写方式。
三、图像编码图像编码是将图像数据转换为二进制数的一种方式。
以下是几种常见的图像编码:1.JPEG:JPEG是一种常用的图像压缩标准,它采用有损压缩算法,能够在保证图像质量的前提下,大大减少图像数据的存储空间。
2.PNG:PNG是一种无损压缩的图像格式,它能够保留原始图像的所有信息,并且在压缩后不失真。
PNG广泛应用于网页设计、软件界面设计等领域。
3.GIF:GIF是一种基于LZW算法的压缩图像格式,它可以支持动态图像和透明背景。
GIF广泛应用于网页中的动画、图标等设计。
四、音频编码音频编码是将音频数据转换为二进制数的一种方式。
计算机基础——字符的编码
外部码、内部码、字形码、交换码、地址码、 代码关系
汉字系统对每个汉字规定了输入计算机的代码,即汉字的外部 码,键盘输入汉字是输入汉字的外部码。 计算机为了识别汉字,要把汉字的外部码转换成汉字的内部码, 以便进行处理和存储。 为了将汉字以点阵的形式输出,还要将汉字的内部码转换为汉 字的字形码,确定一个汉字的点阵。 并且,在计算机和其它系统或设备需要信息、数据交流时还必 须采用交换码。
2、汉字输入码
为便于将汉字送入中文处理终端或系统,用预先设计好的 方法,将汉字音、形、义有关要素变成数字、字母或键位 名称的转换方法。汉字输入编码是人到机(计算机)交换汉 字特征信息的界面。
根据编码规则,汉字输入码可分为:流水码、音码、形 码和音形结合码 问:五笔字型汉字输入法属于?
3、汉字内码
ASCII码
ASCII(美国标准信息交换码)规定了常用的数字、字符 的编码。标准ASCII码是7位二进制编码,所以最多可 以表示128个字符。每个字符可以用一个字节表示,字 节的最高位为0。
ASC26,指能从键盘输入、 可以显示和打印的字符
ASCII码表(二进制)
1、汉字信息交换码(GB码)
GB 2312-80是一个简体中文字符集,由6763个常用汉字 和682个全角的非汉字字符组成。其中汉字根据使用的频率 分为两级。一级汉字3755个,二级汉字3008个。
由于字符数量比较大,GB2312采用了二维矩阵编码法对 所有字符进行编码。首先构造一个94行94列的方阵,对每一 行称为一个“区”,每一列称为一个“位”,然后将所有字 符按照相应规律填写到方阵中。
计算机中的字符编码
计算机中的字符编码0. 字符与编码的发展 (1)0.1 字符,字节,字符串 (2)0.2字符集与编码 (3)1. ASCII码 (4)2. 非ASCII编码 (5)3. Unicode (5)3.1 Unicode的问题 (5)4.UTF-8 (6)4.1 Unicode与UTF-8之间的转换 (6)4.2 Little endian和Big endian (7)4.3 实例 (8)4.4 关于BOM (8)5. GB2312 (9)0. 字符与编码的发展从计算机对多国语言的支持角度看,大致可以分为三个阶段:字符串在内存中的存放方法:在 ASCII 阶段,单字节字符串使用一个字节存放一个字符(SBCS)。
比如,"Bob123" 在内存中为:42 6F 62 31 32 33 00B o b 1 2 3 \0在使用 ANSI 编码支持多种语言阶段,每个字符使用一个字节或多个字节来表示(MBCS),因此,这种方式存放的字符也被称作多字节字符。
比如,"中文123" 在中文 Windows 95 内存中为7个字节,每个汉字占2个字节,每个英文和数字字符占1个字节:D6 D0 CE C4 31 32 33 00中文 1 2 3 \0在 UNICODE 被采用之后,计算机存放字符串时,改为存放每个字符在 UNICODE 字符集中的序号。
目前计算机一般使用 2 个字节(16 位)来存放一个序号(DBCS),因此,这种方式存放的字符也被称作宽字节字符。
比如,字符串 "中文123" 在 Windows 2000 下,内存中实际存放的是 5 个序号:2D 4E 87 65 31 00 32 00 33 00 00 00 ←在 x86 CPU 中,低字节在前中文 1 2 3 \0一共占 10 个字节。
0.1 字符,字节,字符串理解编码的关键,是要把字符的概念和字节的概念理解准确。
大学计算机基础字符的编码——区位码和国标码
为94行、94列,代码表分94个区(行)和94个位(列)。 区位码——由区号(行号)和位号(列号)构成。
区位码最多可以表示9494=8 836个汉字。 区位码由4位十进制数字组成,前两位为区号,后两位为位号。在 区位码中,01~09区为特殊字符,10~55区为一级汉字,56~87区为二级 汉字。例如汉字“中”的区位码为54 48,即它位于第54行、第48列。 区位码是一个4位十进制数,国标码是一个4位十六进制数。
+ (00100000 00100000)B
=(01010110 01010000)B
三. 汉字的处理过程 从汉字编码的角度看,计算机对汉字信息的处理过程实际上是各
种汉字编码间的转换过程。这些编码主要包括:汉字输入码、汉字内 码、汉字地址码、汉字字形码等。
汉字信息处理系统的模型
1)汉字输入码 2)汉字内码 对应于国标码,一个汉字的内码用2个字节存储,并把每个字节的 最高二进制位置“1”作为汉字内码的标识,如果用十六进制来表述, 就是把汉字国标码的每个字节上加一个(80)H(即二进制数10000000)。 所以,汉字的国标码与其内码存在下列关系:
字符的编码
计算机是以二进制的形式存储和处理数据的,因此字符也必须 按特定的规则进行二进制编码才能进入计算机。
字符编码的方法: 1. 确定需要编码的字符总数; 2. 将每一个字符按顺序确定序号,序号的大小无意义,仅作为 识别与使用这些字符的依据。字符形式的多少涉及编码的位 数。
一.西文字符的编码 字符编码——表示字符的二进制编码,常用的有ASCII(American
计算机中的编码
计算机中的编码
计算机中的编码是指将字符和符号转换为二进制数的过程。
在计算机中,每个字符和符号都被赋予一个特定的二进制编码,以便计算机能够识别和处理它们。
最常见的编码是ASCII码,它包含了128个字符,包括数字、字母、标点符号和控制字符。
另外还有Unicode编码,它包含了数百万个字符。
Unicode编码允许在不同的语言和文化之间进行交流和数据交换。
编码的选择对计算机的性能和可移植性也有很大的影响。
不同的编码可能需要不同的存储空间和处理时间。
因此,在选择编码时需要权衡不同的因素,包括兼容性、可扩展性和性能等。
总之,编码是计算机中重要的概念,它使得计算机能够处理和存储字符和符号,并与人类进行交流和交换信息。
了解不同的编码和其应用,有助于提高计算机编程和数据处理的效率和准确性。
- 1 -。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字型点阵码是显示或打印汉字时所用的编码。
点阵中每一个位置对应一个二进制位:该位为1,对应的位置有点;为0,则对应的位置为空白。
每8个二进制位组成一个点阵码字节。
点阵的规模决定了点阵码的字节数。
例如,采用1616点阵,一个汉字的字型点阵码为(1616)8=32个字节。
区位码、国标码与机内码的转换方法:
(1)区位码先转换成十六进制数表示
(2)(区位码的十六进制表示)+2020H=国标码;
(3)国标码+8080H=机内码
机器数和真值
在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.
1、机器数
一个数在计算机中的二进制表示形式叫做这个数的机器数。
机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.
比如,十进制中的数+3 ,计算机字长为8位,转换成二进制就是00000011。
如果是-3 ,就是10000011 。
那么,这里的00000011 和10000011 就是机器数。
2、真值
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。
例如上面的有符号数10000011,其最高位1代表负,其真正数值是-3 而不是形式值131(10000011转换成十进制等于131)。
所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。
例:0000 0001的真值= +000 0001 = +1,1000 0001的真值= –000 0001 = –1
二. 原码, 反码, 补码的基础概念和计算方法.
在探求为何机器要使用补码之前, 让我们先了解原码, 反码和补码的概念.对于一个数, 计算机要使用一定的
编码方式进行存储. 原码, 反码, 补码是机器存储一个具体数字的编码方式.
1. 原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:
[1111 1111 , 0111 1111]
即
[-127 , 127]
原码是人脑最容易理解和计算的表示方式.
2. 反码
反码的表示方法是:正数的反码是其本身;负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算.
3. 补码
补码的表示方法是:正数的补码就是其本身;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反,
最后+1. (即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值.
三. 为何要使用原码, 反码和补码
在开始深入学习前, 我的学习建议是先"死记硬背"上面的原码, 反码和补码的表示方式以及计算方法.
现在我们知道了计算机可以有三种编码方式表示一个数. 对于正数因为三种编码方式的结果都相同:
[+1] = [00000001]原 = [00000001]反 = [00000001]补
所以不需要过多解释. 但是对于负数:
[-1] = [10000001]原 = [11111110]反 = [11111111]补
可见原码, 反码和补码是完全不同的. 既然原码才是被人脑直接识别并用于计算表示方式, 为何还会有反码和补码呢?
首先, 因为人脑可以知道第一位是符号位, 在计算的时候我们会根据符号位, 选择对真值区域的加减. (真值的概念在本文最开头). 但是对于计算机, 加减乘数已经是最基础的运算, 要设计的尽量简单. 计算机辨别"符号位"显然会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法. 我们知道, 根据运算法则减去一个正数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法, 这样计算机运算的设计就更简单了.
于是人们开始探索将符号位参与运算, 并且只保留加法的方法. 首先来看原码:
计算十进制的表达式: 1-1=0
1 - 1 = 1 + (-1) = [00000001]原 + [10000001]原 = [10000010]原 = -2
如果用原码表示, 让符号位也参与计算, 显然对于减法来说, 结果是不正确的.这也就是为何计算机内部不使用原码表示一个数.
为了解决原码做减法的问题, 出现了反码:
计算十进制的表达式: 1-1=0
1 - 1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原= [0000 0001]反 + [1111 1110]反 = [1111 1111]反 = [1000 0000]原 = -0
发现用反码计算减法, 结果的真值部分是正确的. 而唯一的问题其实就出现在"0"这个特殊的数值上. 虽然人们理解上+0和-0是一样的, 但是0带符号是没有任何意义的. 而且会有[0000 0000]原和[1000 0000]原两个编码表示0.
于是补码的出现, 解决了0的符号以及两个编码的问题:
1-1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原 = [0000 0001]补 + [1111 1111]补 = [0000 0000]
补=[0000 0000]原
这样0用[0000 0000]表示, 而以前出现问题的-0则不存在了.而且可以用[1000 0000]表示-128:
(-1) + (-127) = [1000 0001]原 + [1111 1111]原 = [1111 1111]补 + [1000 0001]补 = [1000 0000]
补
-1-127的结果应该是-128, 在用补码运算的结果中, [1000 0000]补就是-128. 但是注意因为实际上是使用以前的-0的补码来表示-128, 所以-128并没有原码和反码表示.(对-128的补码表示[1000 0000]补算出来的原码是[0000 0000]原, 这是不正确的)
使用补码, 不仅仅修复了0的符号以及存在两个编码的问题, 而且还能够多表示一个最低数. 这就是为什么8位二进制, 使用原码或反码表示的范围为[-127, +127], 而使用补码表示的范围为[-128, 127].
因为机器使用补码, 所以对于编程中常用到的32位int类型, 可以表示范围是: [-231, 231-1] 因为第一位表示的是符号位.而使用补码表示时又可以多保存一个最小值.。