c++ - 从 char 到 int 的转换

标签 c++ char type-conversion

我正在学习 C++ 语言三个星期,我在从 char 到 int 的转换方面遇到了问题。如果我编写这个程序:

int main()
{
  int a = 200; 
  char h = a; 
  int b = h;
  cout << h << "\n"; 
  cout << b << "\n"; 

  keep_window_open();
  return 0;
}

如果我将 a 的值转换为 char,h 的值将成为 ASCII 表中的一个字符,但如果我将 h 值转换回 int,我不会取回值 200,为什么?。

最佳答案

在具有 8 位字符的系统(即大多数字符)上,200 超出范围,因为 char 是有符号的,您只有 7 位来存储值。

关于c++ - 从 char 到 int 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26284675/

相关文章:

c++ - C++ 类的常量正确性

objective-c - 无法将 Dec 转换为 Hex(Int 到 Char)

c - printf() 打印整个字符矩阵

type-conversion - 在Common Lisp中将整数转换为字符

C# Generic T Class TypeOf,这可能吗?

具有依赖项的 C++ 队列

c++ - WNDCLASSEX 和 CreateWindow 有什么区别?

C++ 通过引用传递不改变参数

c# - 如何从字符中添加字符

sql - 将数值转换为日期时间