作为字符的 num 和内存上的 int 之间的区别 - 关于 ascii 上的等效数字 -

Difference between the num as char and as int on memory - Regarding the equivalent num on the ascii -

本文关键字:关于 ascii 数字 区别 int 字符 num 内存 之间      更新时间:2024-09-27

内存上的字符数字和 int 的数字(或任何类型,我可以像 c++ 上的双倍一样使用它进行任何算术运算)之间的区别是什么 - 关于 ascii 代码上的等效数字 - . 另外,('5'-'0')如何帮助我将字符转换为 int? 这是什么机制?

在此声明中

int num = 5;

整数变量num包含值5

在本声明中

char num = '5';

字符变量num包含字符文本'5'的内部表示形式,该字符文本在 ASCII 中等于十六进制中的530x35

在源和执行基本字符集中,字符'0' - '9'按顺序存储,没有 gups。因此,例如,'5' - '0'ASCII 中与53 - 48相同,则产生整数值5

从C++标准

在源和执行基本字符集中,值 上述十进制数字列表中 0 之后的每个字符应为 一个大于前一个值

表达式中使用的char类型的对象通常提升为称为整数提升的类型int

类型char可以表现为类型signed charunsigned char,具体取决于编译器选项。