下面有关GB2312汉字编码的叙述中,错误的是
A.汉字的区位码由该汉字在编码表中的区号和位号组成
B.汉字的内码在计算机中用两个字节表示
C.同一个汉字的区位码、国标码及内码均不相同
D.使用不同的方法输入同一汉字,其内码是不同的
下面有关GB2312汉字编码的叙述中,不正确的是()。
A.汉字的区位码由该汉字在编码表中的区号和位号组成
B.汉字的内码在计算机中用两个字节表示
C.同一汉字的区位码、国标码及内码均不相同
D.使用不同的方法输入同一汉字,其内码是不同的
计算机浮点数的表示中,可分为阶码和尾数两部分,如果某机阶码为8位 (含1位符号位)定点整数,用移码表示,其阶码最大正数是(8),最小负数是(9)。
A.1111111
B.11111111
C.10000000
D.1
●某机器的字长为8,符号位占1位,数据位占7位,采用补码表示时的最小整数为 (13) 。
(13)
A.-28
B.-27
C.-27+1
D.-28+1
阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
[说明]
我国现行使用的公民身份证号码有两种,分别遵循两个国家标准:〖GB 11643-1989〗和〖GB 11643-1999〗。〖CB 11643-1989〗中规定的是15位身份证号码,排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。〖GB 11643 -1999〗中规定的是18位身份证号码,是特征组合码,它由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其中,校验码C由本体码按如下过程求得:
(1)计算校验码和S=a18W18+a17W17+…+a2W2,其中i表示18位身份证号,码每一位的序号,从右至左,最左侧为18,最右侧为1;ai表示身份证号码第i位上的号码;wi表示第i位上的权值,其值为2i-1模11的结果;
(2)计算校验码值R,其值为校验和模11的结果;
(3)根据下面对应关系找出校验码C:
由上述计算过程可以看出,18位身份证号码中可能包含非数字的字母X(代表数字10)。下面的应用程序基于这一算法实现了身份证号码的升位查询:
在开发过程中,显示新旧两种身份证号码的文本框(TextBox)分别名为Text1和Text2,“号码升位”按钮(CommandButton)名为Command1。
代码中使用到的字符串函数及功能说明如下:
(1)Len(s):获取字符串s的长度;
(2)Left(s,1):返回字符串s左端长度为1的子串;
(3)Right(s,1):返回字符串s右端长度为1的子串;
(4)Mid(s,p,1):返回字符串s从第P个字符开始长度为1的子串。
[Visual Basic代码]
’计算18位身份证号码
Private Sub Commandl_Click()
Dim code As String
Dim S As Integer
code = Textl. Text '提取15位身份证号码
If Len(code) < > 15 Then
MsgBox "ID 号码长度不正确,请检查!"
(1)
End If
code = Left(code, 6) + "19" + (2) (code, 9) '年份升位
S=0
For i = 18 To 2 Step -1 '计算校验码和
S = S + Clnf((3)) * (2 ^ (i - 1) Mod11)
Next i
(4) '计算校验码值
Select Case S '确定校验码
Case 0: code = code + "1"
Case 1: code = code + "0"
Case 2: code = code + "X"
Case Else: code = code + CStr((5))
End Select
Text2. Text = code '显示18位身份证号码
End Sub
汉字的区位码是由一个汉字在国标码表中的行号(即区号)和列号(即位号)组成。正确的区号、位号的范围是()。
A.区号1~95,位号1~95
B.区号1~94,位号1~94
C.区号0~94,位号O~94
D.区号0~95,位号O~95