Visual c++ 输入流cin的疑问

来源:百度知道 编辑:UC知道 时间:2024/05/15 11:20:55
我在看书的时候看到这样一段语句
void main()
{
int nNum;
cout<<"Please input a Hex interger:";
cin>>hex>>nNum;
cout<<"Oct\t"<<oct<<nNum<<ebdl;
cout<<"Dec\t"<<dec<<nNum<<ebdl;
cout<<"Hex\t"<<hex<<nNum<<ebdl;
}

执行结果:
Please input a Hex interger:7b回车
Oct 173
Dec 123
Hex 7b

这是一个执行将输入数值转化为8,10,16进制的

我想问的是,他一开始int nNum,之定义了一个uNum
为什么后面输入的时候会有>>hex>>nNum 两个??
还有就是他实际也只输入了一个7b啊。。。为什么可以这样写呢??

hex并不是变量,它和后面的dec oct是一样的,叫做格式算子.它是保证你输入的数是16进制的.象下面的 cout后的
oct 和 dec一样将你输入的数字分别转换为10进制输出和8进制输出.以下是各种进制的输入输出格式算子:
BIN:二进制 (binary)
OCT:八进制 (octal)
DEC:十进制 (decimal)
HEX:十六进制(hex)

cin 是头文件中定义的,他有一定的运行规则,而hex也应该是在头文件里定义过的变量
就好像cout<<a<<b
一个道理,会在输出a后输出b,7b给hex后给nNum

hex 表示16进制 .. 不是变量名 ..