书香雅阁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 786|回复: 0

【2进制与ascall码】

[复制链接]

451

主题

474

帖子

158万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1581710
发表于 2024-2-26 13:56:18|字数:1,032 | 显示全部楼层 |阅读模式
LV10 站长

这一节实际上是对【ASCALL编码】 的进一步解释,加深大家的理解

先复习知识点:018: 【计算机与2进制】

上面说了第一台计算机于1946年2月在美国诞生,既然2进制可以用来计算那能不能用来存储数据呢,这是一个非常伟大的想法,于是有人提出了一个非常NB的思路,将2进制转换成10进制,然后将10进制结果编成一个表
例子:
2进制的0=10进制0,我们表达一个字符
2进制的1=10进制1,我们表达一个字符
2进制的10=10进制3,我们表达一个字符
2进制的11=10进制4,我们表达一个字符
如果听不懂,那就再复习一下:004: 【进制的理解】

——————————————————————————————

因为这个想法最初是由外国人提出来的,他们讲英文,26个大写字符+26个小写字符+一些常用标点符号大概有70多个,那么2进制的长度需要多少,2^6=64,6个长度位置的2进制不太够用,因此7个长度的2进制就比较合理了,这句话很多人可能听不懂,那我们来说一个数学问题
例子:
□□□□ □□□
这里有7个格子,每个格子可以写0和1,那么一共有多少种写法,答案就是2^7=128种
最大值是1111 111,换算成10进制就是127
最小值是0000 000,换算成10进制就是0
一共128个,你不想计算可以百度搜索进制计算器
每个方格大家就理解成一个开关,所以这7个开关表达了128种线路情况,每一种情况对应的2进制转换成10进制后进行编码,就是ascall码


下图是ascall表,控制字符的意思就是表示那个字符
图片.png

因此一个ascall码(7个2进制)就可以表达一个7符,那么存储aa就使用2个ascall码(14位)即可
但是,人们很快发现,不能只存储英文,还应该存储其他国家的文字,于是有人提出,那我们可以使用2个ascall码来表达一个其他国家的字符,然后重新编个表,但是这存在一个问题,假设97,97到底是表示一个其他国家的字符还是表示aa(2个字符)?因此,只能在原来7位置的基础上增加一个位置
□□□□ □□□


8个格子可以表达多少种可能性:2^8=256种,同时其他国家地区的文字使用129-255的编码去配合表示,129-255这个范围的单个ascall码也不代表任何字符


后来将一个ascall码称为1个字节,所以网上经常说的1个字节=8位大家知道是什么意思了吧


(点击返回课程目录https://shuxiangyage.net/forum.php?mod=viewthread&tid=1134

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|书香雅阁论坛 ( 湘ICP备17011672号-3 )

GMT+8, 2024-11-21 18:43 , Processed in 0.093049 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表