如果您有以下代码:
cout << hex << 10;
Run Code Online (Sandbox Code Playgroud)
输出为'a',表示十进制10转换为十六进制值.
但是,在下面的代码中......
int n;
cin >> hex >> n;
cout << n << endl;
Run Code Online (Sandbox Code Playgroud)
当输入为12时,输出变为18.任何人都可以解释转换的细节吗?它是如何成为小数值的?
我对它成为一个int的兴趣感兴趣.如果分解,那将是:
(( cin >> hex ) >> n);
Run Code Online (Sandbox Code Playgroud)
它是否正确?
小智 8
十六进制操纵器仅控制如何读取值 - 它始终使用相同的内部二进制表示来存储.变量无法"记住"以十六进制输入.