following code
cout << 10 << endl;
will give an output of "10".
how can i get a number in hexadecimal format by cout, such as "0xA"?
你看看cout的用法,貌似有这个控制.
cout<<"0x"<<hex<<10<<endl; //前面要加0x因为输出时不会有0x
状态字
也称状态标志字,其类型为long int。它是在ios类的public部分定义了一个枚举,此枚举类型的每个成员分别定义状态字的一个位,每个位称为状态标志位。这个枚举的定义如下:
enum
{
skipws =ox0001 //跳过输入中的空白,用于输入
left =ox0002 //左对齐输出,用于输出
light =ox0004 //右对齐输出,用于输出
internal =ox0008 //在符号位和基指示符后填入字符,用于输出
dec =ox0010 //转换基数为十进制,用于输入或输出
oct =ox0020 //转换基数为八进制,用于输入或输出
hex =ox0040 //转换基数为十六进制,用于输入或输出
showbase =ox0080 //输出时显示基指示符,用于输入或输出
showpoint =ox0100 //输出时显示小数点,用于输出
uppercase =ox0200 //十六进制输出时,表示制式的和表示数值的
//一律为大写,用于输出
showpos =ox0400 //正整数前显示“+”符号,用于输出
scientific =ox0800 //用科学表示法显示浮点数,用于输出
fixed =ox1000 //用定点形式显示浮点数,用于输出
unitbuf =ox2000 //在输出操作后立即刷新所有流,用于输出
stdio =ox4000 //在输出操作后刷新stdout和stderr,用于输出
}
这些枚举元素的值的共同特点是,使状态标志字二进制表示中的不同位为1,它们共同组成状态标志字,存放在数据成员long x_flags中。状态可以几个并存。
cout << showbase << hex << 10 << endl;