在ASCLL上掉过的坑

如果对ASCLL不了解的话,容易在进制转换以及由ASCLL值输出对应的ASCLL码(控制字符)时出现错误,由于本博主常犯错,故写下此篇避免错误的再犯。
下面列出常见控制字符及其对应的ASCLL值(往后的自己推理)

‘0’:48
‘9’:57
‘A’:65
‘Z’:90
‘a’:97
‘z’:122

如果是直接输出两个字符相减或相加,输出的值会是运算后的字符的ASCLL值,而不是对应字符,如cout<<‘a’-‘0’;输出:49
但如果是这样的cout<cout<

如果是高进制之间的转换呢,
例如在16进制中’A’对应的值是10

‘B’:11
‘C’:12
‘D’:13
‘E’:14
‘F’:15

如果在运算时得到一个大于等于10的数num,想将它转成对应字符,可通过char(num+‘A’-10)的方法得到。
反之有字符ch得到对应数字可以:ch-‘A’+10;

大概就这些了,希望我的总结能够对大家有帮助(更加清楚的理解概念)

你可能感兴趣的:(php)