为什么当我们想要将数字的ASCII值转换为整数时,我们需要这样做:
value - '0'
?
反过来说,要将Integer转换为ASCII,我们需要这样做:
value + '0'
为什么?
答案 0 :(得分:9)
因为C标准保证数字字符的整数值是连续的。
因此'1' - '0' == 1
,'2' - '0' == 2
等可以推断出您的公式确实有用。
图片的标题说明:
答案 1 :(得分:2)
因为ASCII数字是一个接一个地编码的。
说'0' == 48
。然后是'1' == 49
,'2' == 50
等等。
如果你仔细想想,'2' - '0' == 50 - 48 == 2
。同样,2 + '0' == 2 + 48 == 50 == '2'
。
答案 2 :(得分:0)
数字的ASCII值全部按顺序排列。因此0
只是在ASCII码点48
标记序列的开头,在位置9
处继续向57
。
答案 3 :(得分:0)
因为数字代码按照ASCII standard的定义顺序排列(48 .. 57)。
答案 4 :(得分:0)
ASCII值是表中符号的位置编号。所以你使用' 0' 0符号位置编号作为数字符号的偏移量,向其添加整数位值,您可以计算其位置编号。