为什么“%d”不仅可以打印出十进制的ASCII码?
Why does "%d" can print out ASCII code not only decimal?
听说 '%d' 打印十进制,但如果我导入 printf("%d",'a'),它会打印出 'a' 的 ASCII 码。我不明白为什么只能打印十进制的 %d 也打印 ASCII 码。 ASCII码是小数吗?
计算机对“小数”一无所知。计算机知道 数字 。通常在计算机中一切都是数字。字符、字符串——甚至机器代码指令。
人类需要以易于理解的形式显示数字。我们习惯于使用您称为“小数”的 10 进制数。
字符也是数字。我们(人类)发明了编码来知道什么数字代表特定字符。非常流行的是 ASCII 系统。当你 printf("%d\n", 'A');
然后你简单地打印代表字符 'A'
的数字使用基数 10 表示。
听说 '%d' 打印十进制,但如果我导入 printf("%d",'a'),它会打印出 'a' 的 ASCII 码。我不明白为什么只能打印十进制的 %d 也打印 ASCII 码。 ASCII码是小数吗?
计算机对“小数”一无所知。计算机知道 数字 。通常在计算机中一切都是数字。字符、字符串——甚至机器代码指令。
人类需要以易于理解的形式显示数字。我们习惯于使用您称为“小数”的 10 进制数。
字符也是数字。我们(人类)发明了编码来知道什么数字代表特定字符。非常流行的是 ASCII 系统。当你 printf("%d\n", 'A');
然后你简单地打印代表字符 'A'
的数字使用基数 10 表示。