二级字符导论
fx-es(ms)吧
全部回复
仅看楼主
level 6
ytskuh 楼主
其实 相信各位dalao往往已经有更深入的研究。但是像多年前的那成果索引一样详尽系统的指导和说明少之又少,相关理论也不成熟。在此,相关成果的整理目的,是为了让更多的人能踏入二级字符的大门,并进而能够有更多的性质研究。
环境:CASIO fx-991 cnx VerC
2018年09月23日 03点09分 1
level 6
ytskuh 楼主
限于我们研究的性质 下面的内容中,难免将事实与推测相混淆,并且,我们也难以且不必做得完备。希望能带领萌新快速开始,并给dalao一些启发(我……我什么也不是……我是垃圾)
2018年09月23日 03点09分 2
level 6
ytskuh 楼主
[目录]
i>工作机制和一些细节
2018年09月23日 03点09分 3
level 6
ytskuh 楼主
尽管各计算器系统的十进制表现得根深蒂固,我们还是应当相信,它到底是基于二进制的。
为了了解二级字符的产生原理,我们先得了解一下计算机系统中字符的编码和识别方式(只得啰嗦一下啦)
我们知道,在当代计算机中,八个bit为一组编为字节,几乎所有储存单元都是以字节为单位的。在储存字符时,我们自有ASCLL标准,该标准规定了一个字节表示的固定128个字符。
不知是否有人疑惑,为什么是128个,而不是256(2^8)个呢
事实上,除了单字节字符外,还有双字节字符,譬如汉字等,相关的标准有unicode等等。一段文字,它可以同时含有双字节和单字节字符。作为一段连续的序列,计算机必须能够识别哪些表示单字节,哪些是双字节。作为一种经济的方式,我们规定:所有单字节字符的第一位必须是0,而所有双字节字符的第一位必须是1.这样,每当读取到一个字节以1开头,便知道接下来的两个字节是一个字符。
2018年09月23日 03点09分 4
level 6
ytskuh 楼主
尽管CASIO的麻瓜程序员不愿意采用ASCLL标准,它倒是依然遵循了这一方式来实现单字节和双字节的混合编码。毕竟,面对如此之小的RAM,不能浪费空间,使得一个数字得占用两个字节。
此外,我们认为屏幕显示的区域是一个缓冲区(我们将会看到,它确实表现出缓冲区的某些性质)。输入区是一段特定的RAM,大小为199 byte,用以储存字符。字符input以后进入逻辑区,尔后到结果,再output为字符。
2018年09月23日 03点09分 5
level 6
ytskuh 楼主
ii>二级字符生成方案
我们总是怀有一些信念,譬如世界运行时有规律的。这样的麻瓜程序,自然是更加有规律。面对先前的指导,一方面操作用时太长(生成一个二级字符需要约300次按键),还不能保证成功。我们相信,CASIO大体上是一个loop(至少是类似的结构),内存溢出也没那么神秘,面对相同的输入,一定该给出相同的输出。
问题就出在 “约180个字符”上。
当我们输入x=sigma(x,0,1并成功卡住光标时,输入的内容依然保存在输入区(不然呢)。此时我们已经输入了8个byte。如果再输入190个byte,接下来输入区就只剩下1 byte了。然而此时并非在程序的考虑范围内。在这种错误下它不会阻止你继续输入。于是你输入了一个双字节字符。这个字符的前一半被留在了一段输入区内(随后这个输入区结束并被丢弃)后一半则随着指针的继续推进,进入下一段输入区。分配给所有输入区的总内存是有限的。按照以前的方法,我们还得继续输入双字节字符直到“溢出”,其实这是不必要的。立即AC并按[<](或[>])即发现,二级字符其实已经产生了。
我们把这一类二级字符称为“后”二级字符,因为它们是通过截断一个双字节字符并取后一个字节产生的。
当然,即使采用这种方式,我们每次操作还是需要193次按键。 提高提高效率很简单,譬如输入x=sigma(x,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,1
我们每次就只需要输入一个0,再输入一个双字节字符,4次按键即可生成一个后二级字符(我们可以先进行一次正常的运算,把上面那一大段内容保存一下以备反复使用)
通过这种方式,我们编制了完整的[后]二级字符表,并对其中某些字符的性质作了些讨论。这些内容,国庆假期将会补充(忘记带回家了)
2018年09月23日 03点09分 6
level 6
ytskuh 楼主
iii>二级字符举例
2018年09月23日 03点09分 7
level 6
ytskuh 楼主
举例不出来(啊呀呀,作为竞赛刚退役的我要 补作业 学语文 学英语……啊啊啊啊!!!!)
跑了,国庆有空再讲
2018年09月23日 04点09分 8
level 14
233333
刚入竞赛坑的路过
2018年09月23日 04点09分 9
level 7
坐等大作!
2018年09月24日 09点09分 10
level 7
坐等大作!(另:楼主物竞吗?
2018年09月25日 21点09分 11
数竞+物竞(还有个弃了的信竞坑
2018年10月02日 04点10分
@ytskuh 666666
2018年10月03日 14点10分
level 13
顶一下
2018年09月25日 23点09分 12
level 11
!!!!!
2018年09月26日 12点09分 14
level 14
竞赛补作业很真实了[滑稽]
2018年10月01日 15点10分 15
level 6
ytskuh 楼主
我回来了,一会交个生成表
2018年10月02日 04点10分 16
1 2 3 尾页