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个字,二进制第一位可用作表示符号,以下为例:
无符号

二进制十进制
000000000
000000011
01111111127
10000000128
10000001129
11111110254
11111111255

有符号

二进制十进制
0 00000000
0 00000011
0 1111111127
1 00000000
1 0000001-1
1 1111110-126
1 1111111-127

3,模的运算

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

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

  1. 先求反码,最低位再加1即可。
  2. 最右一位1前所有数字取反。

2,余码
x位的余码就是2x-1余码,如四位的余码就是八余码。
正数的余码第一位是0,负数和0的第一位是1。负数的余码就是正数的补码加上符号位。

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

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

4,浮点数编码

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

符号(1位)阶码尾数

IEEE754中规定了几种浮点数:

浮点数类型位数符号阶码尾数
短浮点数321823
长浮点数641852
扩充浮点数801864

使用浮点数时要小心截断误差,或称舍入误差。

5,多媒体编码

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值