n个二进制位最多能表示2n种信息
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两位中填二进制最多能填出多少种不同的值? 三位?
四位?
五位?
N 位?
结论:n个二进制位最多能表示2n种信息
想一想:
• 如果用二进制给16个运动员编号,那么 至少需要几个二进制位为一个运动员编 号?
• 如果计算机想表示32种颜色,至少需要 几个二进制位表示一种颜色?
• 如果计算机想表示48种声音,至少需要 几个二进制位表示一种声音?
课堂实验
❖ 用UltraEdit文件夹下的Uedit32来观察“你的姓名”在计算机中 的内码(分别以十六进制和二进制填写表格)
字符
林
赛
雅
L
S
Y
内码(十六进制) C1D6
C8FC
D1C5
4C
53
59
内码(二进制)
11000001 11010110
11001000 11111100
01001100
思考:如何判断有多少ASC码和中文?
说明:
1)用Asc转换汉字,会得到负数,只要加上65536,即可得到真实的汉字内码(10进制); 2)Hex可以将10进制数字转换为16进制的字符串; 3)Val("&HA1") ,可以得到“A1”的10进制数字161; 4)用trim函数可以去除字符前后的空格。
挑战任务
❖ 完成“2进制转16进制”的VB程序。
❖ 举例:“啊”字是GB2312之中的第一个汉字,区位码位1601。
汉字编码的奥秘
• 汉字的区位码,是一个四位的十进制数,每个国标 码或区位码都对应着一个唯一的汉字或符号,它的 前两位叫做区码,后两位叫做位码。
▫ 例子:谢=4827D( 00110000B , 00011011B )
• 为了区分ASC码,汉字的区码和位码分别加上160 (A0H)。
神奇的输入法
❖按住ATL,在小键盘输入“97”,再放开ALT 键,看看发生了什么?
❖同样的方法,输入“53435”,看看发生了 什么?
汉字编码
输入码 (外码)
计算机系统B
交换码
译码
处理码 (机内码)
字形码
汉字显示
OS的汉字服务程序
计算机系统A
汉字编码—汉字的输入
向计算机输入汉字的两种方法: (1)自动识别方式:语音识别和汉字识别
(2)将汉字编码(外码)输入 音码: 搜狗输入、紫光输入、智能输入等。 形码: 五笔、郑码等。 音形码: 形音码:
汉字编码—处理码(机内码)
处理码:计算机内部用于信息处理的汉字代码,也称汉字 机内码.
常用简体汉字采用GB2312码编码,一个GB2312码占两 个字节
共收录6763个汉字,一级汉字3755个,二级汉字3008个,还 有拉丁字母、希腊字母、日文平假名等字符。
• 从右边开始每4位为一组划分,并将每组的4位二进制转换为1位十 六进制数字。
❖ 要求:
• 直接用ASCII转为“ABCD……”,不使用预设的字符串。
如何拆分二进制字符串?
wenku.baidu.com
s1 = Val(Text1.Text) s2 = "" f = Len(s1) \ 4 For i = 1 To f
t = _____________ s2 = get16(t) & s2 Next i If Len(s1) Mod 4 > 0 Then t = ______________ s2 = get16(t) & s2 End If Text2.Text = s2
▫ 例子:谢=208,187( 11010000 ,10111011 ),转 为16进制:D0BB(53435D)
区码、位码 分别加160
区位码
内码
编码的方法
真实的编码
外码1 外码2 外码3
基本练习
❖完成进制查看小练习。 ❖编写“汉字内码查看”
程序(填空即可)。
参考代码
Dim s1 As String, s2 As String s1 = Text1.Text Text2.Text = (???)+ Asc(s1) Text3.Text = Hex(Text2.Text) a1 = Val("&H" & Mid(Text3.Text, 1, 2)) – (???) a2 = Val("&H" & Mid(Text3.Text, 3, 2)) – (???) Text4.Text = (???)
1A20H =1101000100000B
字符的编码
动手编码
• 如果让你对“a、b、c、d”这四个字符在计算机中进行
编码,你会怎么编?
• 要求:用尽量少的二进制位数来编。
• 编码方式一:
编码
字符
00
a
01
b
10
c
11
d
对4个字符编码,至少要用2个二进制位来表示一个字符.
数字信息的编码(位与信息)
如果为:11 0011 1011 Len(s1)=10 拆分为:2,4,4
处理右边的4,4
调用自定义函数get16
处理余下的2个
ASC和CHR函数
If (s Mod 16) = 10 Then k = "A" If (s Mod 16) = 11 Then k = "B" If (s Mod 16) = 12 Then k = "C" If (s Mod 16) = 13 Then k = "D" If (s Mod 16) = 14 Then k = "E" If (s Mod 16) = 15 Then k = "F"
GBK:是汉字编码标准之一,全称《汉字内码扩展规范》 GBK 向下与 GB2312 编码兼容。
GB 2312和区位码
❖ GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符 号。这种表示方式也称为区位码。
01-09区,特殊符号 16-55区,一级汉字,按拼音排序 56-87区,二级汉字,按部首、笔画排序 10-15区,备用区
ASCII
❖英文数字等字符的编码:
❖ ASCII码(美国信息交换标准码)
❖ASCII码采用7个二进制位来编码,一个 ASCII码在计算机中存储时占一个字节 (Byte),字节的最左位用“0”填充
❖思考:用7个位能编出多少个字符呢?
❖
27=128
思考
❖一个汉字要占多少字节?
2^16=65535(FFFFH)
复习:二进制整数转换为十六进 制
❖从右边开始每4位为一组划分,并将每组的 4位二进制转换为1位十六进制数字。
例: (110110110)2=(?)16 1B 6
所以:110110110B=1B6H
复习:十六进制转换为二进制
❖每1位十六进制数转换成4位二进制数,不 足四位的用0填充高位以足4位。
❖如:1A20H =?B
四位?
五位?
N 位?
结论:n个二进制位最多能表示2n种信息
想一想:
• 如果用二进制给16个运动员编号,那么 至少需要几个二进制位为一个运动员编 号?
• 如果计算机想表示32种颜色,至少需要 几个二进制位表示一种颜色?
• 如果计算机想表示48种声音,至少需要 几个二进制位表示一种声音?
课堂实验
❖ 用UltraEdit文件夹下的Uedit32来观察“你的姓名”在计算机中 的内码(分别以十六进制和二进制填写表格)
字符
林
赛
雅
L
S
Y
内码(十六进制) C1D6
C8FC
D1C5
4C
53
59
内码(二进制)
11000001 11010110
11001000 11111100
01001100
思考:如何判断有多少ASC码和中文?
说明:
1)用Asc转换汉字,会得到负数,只要加上65536,即可得到真实的汉字内码(10进制); 2)Hex可以将10进制数字转换为16进制的字符串; 3)Val("&HA1") ,可以得到“A1”的10进制数字161; 4)用trim函数可以去除字符前后的空格。
挑战任务
❖ 完成“2进制转16进制”的VB程序。
❖ 举例:“啊”字是GB2312之中的第一个汉字,区位码位1601。
汉字编码的奥秘
• 汉字的区位码,是一个四位的十进制数,每个国标 码或区位码都对应着一个唯一的汉字或符号,它的 前两位叫做区码,后两位叫做位码。
▫ 例子:谢=4827D( 00110000B , 00011011B )
• 为了区分ASC码,汉字的区码和位码分别加上160 (A0H)。
神奇的输入法
❖按住ATL,在小键盘输入“97”,再放开ALT 键,看看发生了什么?
❖同样的方法,输入“53435”,看看发生了 什么?
汉字编码
输入码 (外码)
计算机系统B
交换码
译码
处理码 (机内码)
字形码
汉字显示
OS的汉字服务程序
计算机系统A
汉字编码—汉字的输入
向计算机输入汉字的两种方法: (1)自动识别方式:语音识别和汉字识别
(2)将汉字编码(外码)输入 音码: 搜狗输入、紫光输入、智能输入等。 形码: 五笔、郑码等。 音形码: 形音码:
汉字编码—处理码(机内码)
处理码:计算机内部用于信息处理的汉字代码,也称汉字 机内码.
常用简体汉字采用GB2312码编码,一个GB2312码占两 个字节
共收录6763个汉字,一级汉字3755个,二级汉字3008个,还 有拉丁字母、希腊字母、日文平假名等字符。
• 从右边开始每4位为一组划分,并将每组的4位二进制转换为1位十 六进制数字。
❖ 要求:
• 直接用ASCII转为“ABCD……”,不使用预设的字符串。
如何拆分二进制字符串?
wenku.baidu.com
s1 = Val(Text1.Text) s2 = "" f = Len(s1) \ 4 For i = 1 To f
t = _____________ s2 = get16(t) & s2 Next i If Len(s1) Mod 4 > 0 Then t = ______________ s2 = get16(t) & s2 End If Text2.Text = s2
▫ 例子:谢=208,187( 11010000 ,10111011 ),转 为16进制:D0BB(53435D)
区码、位码 分别加160
区位码
内码
编码的方法
真实的编码
外码1 外码2 外码3
基本练习
❖完成进制查看小练习。 ❖编写“汉字内码查看”
程序(填空即可)。
参考代码
Dim s1 As String, s2 As String s1 = Text1.Text Text2.Text = (???)+ Asc(s1) Text3.Text = Hex(Text2.Text) a1 = Val("&H" & Mid(Text3.Text, 1, 2)) – (???) a2 = Val("&H" & Mid(Text3.Text, 3, 2)) – (???) Text4.Text = (???)
1A20H =1101000100000B
字符的编码
动手编码
• 如果让你对“a、b、c、d”这四个字符在计算机中进行
编码,你会怎么编?
• 要求:用尽量少的二进制位数来编。
• 编码方式一:
编码
字符
00
a
01
b
10
c
11
d
对4个字符编码,至少要用2个二进制位来表示一个字符.
数字信息的编码(位与信息)
如果为:11 0011 1011 Len(s1)=10 拆分为:2,4,4
处理右边的4,4
调用自定义函数get16
处理余下的2个
ASC和CHR函数
If (s Mod 16) = 10 Then k = "A" If (s Mod 16) = 11 Then k = "B" If (s Mod 16) = 12 Then k = "C" If (s Mod 16) = 13 Then k = "D" If (s Mod 16) = 14 Then k = "E" If (s Mod 16) = 15 Then k = "F"
GBK:是汉字编码标准之一,全称《汉字内码扩展规范》 GBK 向下与 GB2312 编码兼容。
GB 2312和区位码
❖ GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符 号。这种表示方式也称为区位码。
01-09区,特殊符号 16-55区,一级汉字,按拼音排序 56-87区,二级汉字,按部首、笔画排序 10-15区,备用区
ASCII
❖英文数字等字符的编码:
❖ ASCII码(美国信息交换标准码)
❖ASCII码采用7个二进制位来编码,一个 ASCII码在计算机中存储时占一个字节 (Byte),字节的最左位用“0”填充
❖思考:用7个位能编出多少个字符呢?
❖
27=128
思考
❖一个汉字要占多少字节?
2^16=65535(FFFFH)
复习:二进制整数转换为十六进 制
❖从右边开始每4位为一组划分,并将每组的 4位二进制转换为1位十六进制数字。
例: (110110110)2=(?)16 1B 6
所以:110110110B=1B6H
复习:十六进制转换为二进制
❖每1位十六进制数转换成4位二进制数,不 足四位的用0填充高位以足4位。
❖如:1A20H =?B