当前位置:新励学网 > 秒知问答 > 为什么”a ”与“A等大小写字母 的ASCII 码相差32

为什么”a ”与“A等大小写字母 的ASCII 码相差32

发表时间:2024-08-18 18:02:15 来源:网友投稿

好家伙十几年过去了,没一个答到点子上的。

这是ASCII码的设计精妙所在。因为大写字母 A-Z :[65,90],小写字母a-z:[97-122];观察他们的二进制可以发现,65=100000190=101101097=1100001122=1111010发现了什么?大写转小写需要+32,而65-90表示32的那一位bit始终为0,所以+32可以转化为|32。计算机底层只有位运算,所有的基本运算最终都会被解释成位运算,所以+32直接用|32替换,可以提升效率。P.S. 大写变小写、小写变大写 : 字符 ^= 32;大写变小写、小写变小写 : 字符 |= 32;小写变大写、大写变大写 : 字符 &= -33;

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!