9月12日-高级语言程序设计-课程内容(2)

9月12日第二次上课记录

主要内容:
1,ASCII码
2,IP地址
3,模的运算
4,浮点数编码
5,多媒体编码


1,ASCII码

  • ASCII码储存在七位二进制,但是因为计算机内存最小访问单位是一个字节,即八位二进制,故在最左端添加一位,用作校验。

  • ASCII码中1的奇偶即是校验位的大小,如果有奇数个1,那么校验位则为1,如果有偶数个1,校验位则为0。比如1 00100000,0 10010000。

  • ASCII码中32~126(共95个)是字符(32是空格),0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),其中65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

随着中国电脑开始普及,ASCII码不能代表中文的问题愈发突出,1980年,中国国家标准局发布了GB2312-80,收入汉字6763个和非汉字图形字符682个。整个字符集分成94个区,每区有94个位。每个区位上只有一个字符,因此可用所在的区和位来对汉字进行编码,称为区位码。

一个汉字占16位,两个字节,前一个字节存放区号,称为区字节(高位字节),后一个字节存放位号,称为位字节(低位字节)。

区字节使用了0xA1-0xF7(把01-87区的区号加上0xA0【160】),位字节使用了0xA1-0xFE(把01-94加上 0xA0【160】)。区号0xA0之前存放的是汉字外其他字符,如英文字符,图形字符和控制字符等。

区位码=区字节+位字节

拓展:

  • GB18030-2000将汉字扩充至2.7万。
  • GB18030-2005将汉字扩充至8万。

    Unicode是USC码的子集,采用2字节,16位地址。ASCII码仍然是电脑运作的基础,不过字符太少,所有更多由Unicode码表示,它包含了多国语言。

2,IP地址

IP地址全称互联网协议地址,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

  • IPv4采用32位地址长度,只有大约43亿个地址,估计在2005~2010年间将被分配完毕,大部分都在美国,中国基本只能使用代理。
  • IPv6采用128位地址长度,几乎可以不受限制地提供地址。

二进制内容补充:
有无符号情况下,八字节都能储存256个字,二进制第一位可用作表示符号,以下为例:
无符号

二进制 十进制
00000000 0
00000001 1
01111111 127
10000000 128
10000001 129
11111110 254
11111111 255

有符号

二进制 十进制
0 0000000 0
0 0000001 1
0 1111111 127
1 0000000 0
1 0000001 -1
1 1111110 -126
1 1111111 -127

3,模的运算

  • 模是一个系统所能表示数的个数,例如五进制的模是5,二进制的模是2。
  • 超出模能表达的范围,数据就会溢出,例如当模为12的时候,13就会变成1,-9就会变成3。

1,补码
一个负整数与其补数相加,和为模。利用这点,我们可以计算出补码,并用补码表示这个负数。第一位数代表符号,负数是1,正数是0。
求补码:先求反码,最低位再加1即可。

  • 一个数字代表多少取决于你的用途,例如65,如果你输出数值,就是65,输出字符,就是A。

  • 一个二进制正负取决于输出,你可以认为他是带符号的,也可以认为是不带符号的,就事论事。

4,浮点数编码

符号位:正数为0,负数为1
指数位:指数+127(转换成二进制后,对其进行科学记数法转换可得,整数部分只保留一位,正负均可,记录的时候不记录整数位,127是因为指数位可以为负,为了统一便加127),不足八位则补齐。
尾数位:遵循十进制转二进制对小数部分进行转换,不足规定尾数则补齐。
最后将所有数字拼接则可得到浮点数编码。

符号(1位) 阶码 尾数

IEEE754中规定了几种浮点数:

浮点数类型 位数 符号 阶码 尾数
短浮点数 32 1 8 23
长浮点数 64 1 8 52
扩充浮点数 80 1 8 64

5,多媒体编码

图像:颜色数量8bit(256色),16bit(65536色),24bit(16M色)。色彩越多,图像越精致。
声音:采样频率有22.05KHz,44.1KHz,48KHz三个等级,频率越高,声音还原度越高。

因为计算机导论和高级语言程序设计都有讲这个内容,等学习完之后再汇总

猜你喜欢

转载自blog.csdn.net/weixin_43008400/article/details/82659179