作为字符的 num 和内存上的 int 之间的区别 - 关于 ascii 上的等效数字 -
Difference between the num as char and as int on memory - Regarding the equivalent num on the ascii -
内存上的字符数字和 int 的数字(或任何类型,我可以像 c++ 上的双倍一样使用它进行任何算术运算)之间的区别是什么 - 关于 ascii 代码上的等效数字 - . 另外,('5'-'0')如何帮助我将字符转换为 int? 这是什么机制?
在此声明中
int num = 5;
整数变量num
包含值5
。
在本声明中
char num = '5';
字符变量num
包含字符文本'5'
的内部表示形式,该字符文本在 ASCII 中等于十六进制中的53
或0x35
。
在源和执行基本字符集中,字符'0' - '9'
按顺序存储,没有 gups。因此,例如,'5' - '0'
ASCII 中与53 - 48
相同,则产生整数值5
。
从C++标准
在源和执行基本字符集中,值 上述十进制数字列表中 0 之后的每个字符应为 一个大于前一个值
表达式中使用的char
类型的对象通常提升为称为整数提升的类型int
。
类型char
可以表现为类型signed char
或unsigned char
,具体取决于编译器选项。
相关文章:
- 一个关于在C++中重载布尔运算符的问题
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 关于std::move的使用,是否有编译警告
- 关于简单C++函数(is_palindrome)的逻辑的问题
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 关于:C++中异常对象的范围:为什么我没有得到副本?
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- 关于C++中具有多重继承"this"指针的说明
- 关于 c++ 函数中指针赋值的简单问题
- 关于 std::min, std::max 中的比较运算符的混淆
- 这是关于成员访问规则的正确摘要吗
- 为什么我的C++程序的程序集输出充满了 .ascii,没有汇编代码?
- C++ 关于指针取消引用的技术问题
- 有没有办法通过使用十进制 ASCII 代码自动类型扣除来获取字符?
- std::is_trivially_copyable_v 关于虚拟功能
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 关于指向指针数组的指针
- ascii 和 unicode 在处理级别有什么区别吗?
- 关于复制构造函数的一个棘手问题
- 关于在C++中通过ASCII将文本转换为十六进制