【计组】学习笔记1.1:8421码和ASCII码

8421码

8421码即BCD码,由于人们习惯日常使用十进制数,而计算机处理时使用的是二进制数,而两种数制相互转换十分麻烦,因此产生了8421码映射关系。其映射运算例如:

1001转化为十进制数9:1*8+0*4+0*2+0*1 = 8+0+0+1 = 9

而8421分别为每组数从左到右每一位的权值,即每一位数在向十进制数转化过程中乘的数,而8421码的每一位都是0或1,共两种状态,则四位数共有4^2 = 16种状态,8421取前十种状态作为自己的映射组。

8421码的加法运算:

十进制:    8     +    3   =   1       1

8421码:1000 + 0011 = 0001 0001

注意:8421码中1010-1111是没有十进制数与之对应,因此在计算结果超出1001时需要进行结果修正,即进位,由以上例子可见十进制计算结果为11,8421计算结果为10001,则修正为计算结果0001 0001,分别对应11的两个1,写的时候可以省略掉开头的零,即灰色的部分。

余3码和2421码

8421码映射最后出现了1010-1111没有映射的值,即取四位数为一组取十六种状态中的十种,同理的还有余3码和2421码,同样是取四位为一组和十进制的0-9作映射。

8421码中每一位都是二进制数,权值是2,2421码则是改变权值来进行转化运算的,每一组2421码四位数从左到右的权值分别为2421,因此在向十进制转化时要注意权值。例如:

1111转化为对应的十进制数9的运算:1*2+1*4+1*2+1*1 = 2+4+2+1 = 9 

ASCII码

在很多学生初学C语言等编程语言时候就初步接触过ASCII码。

键盘中很多键都可以打出两个字母、数字或者符号,细心的同学可能会数一下一共可以打出128个常用字符,ASCII码就是与之相对应的

 而计算机处理问题过程中是使用8bit位进行运算的,而128仅仅是2的七次方,所以通常会在前面加上第八位来构成1b,即一个字节。

计算机分辨键入字符就是通过ASCII码进行的,存放也是通过ASCII码进行存放。而ASCII码在计算机存放则是通过上面提到的八位二进制数。例如计算机中存放字母A,A对应ASCII码是65,计算机通过01000001来存放ASCII码65,对A进行一个间接存放。

ASCII码的映射表如下:

 ASCII码中数字的映射和字母的映射其的规律

数字的规律:0-9十个数字对应的ASCII码分别为48-57,48-57转化二进制数是00110000-00111001。通过观察我们不难发现前四位都是0011,而后四位正是0-9十个十进制数字对应的8421码

字母的规律:

大字母对应的ASCII码为:65(010 00001)-90(010 11010)

大字母对应的ASCII码为:97(011 00001)-122(011 11010)

通过观察,我们发现字母对应的ASCII码转化成二进制时前三位大写都是010,小写都是011,后五位则是十进制数1-26转化成二进制后的五位数映射,分别对应了A-Z、a-z。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值