国标码怎么计算

来源:百度知道 编辑:UC知道 时间:2024/05/04 07:46:03
我有道题,不知道怎么计算,某汉字的机内码是B0A1H,那么它的国标码是多少?我想问,怎么具体算。那么又怎么转换成十六进制呢。能不能解释清楚点,具体怎么算的过程。

GB2312构成一个二维平面,分成94行和94列,行号成为区号,列号成为位号。唯一标识一个汉字。
将区位码的位号和分好分别加上32(20H),得到国标交换码
将国标码的两个字节的最高位置1(加128,即80H),得到PC机常用的机内码
汉字的区位码、国标码、机内码有如下关系:
国标码=区位码+2020H
机内码=国标码+8080H
机内码=区位码+A0A0H
汉字机内码双字节,最高位是1;西文字符机内码单字节,最高位是0

这一题的计算:
国标码=机内码-8080H
区号:BO-80=30
位号:A1-80=21
国标码=3021H

十六进制数转换成十进制数:成权求和法
30H=3乘以16的1次方+0乘以16的0次方
21H=2乘以16的1次方+1乘以16的0次方
3021H=4833D

十进制数转换成十六进制:除16取余法,余数倒数排列