首页 > 试题广场 >

有以下程序: #include using namesp

[单选题]
#include <iostream>
using namespace std;
int main() {
 int i = 100; 
 cout.unsetf(ios::dec);
 cout.setf(ios::hex);
 cout << i << "\t";
 cout << i << "\t";
 cout.setf(ios::dec);
 cout << i << "\t";
 return 0;
}

程序运行后的输出结果是()


  • 64         100    64
  • 64       64       64
  • 64      64        100
  • 64        100    100
  • cout.unsetf(ios::dec)   和  cout.setf(ios::hex)  等价
  • 用于控输出格式的流成员函数及控制符
流成员函数 作用相同的控制符 作用
precision(n) setprecision(n) 设置实数的精度为n位
width(n) setw(n) 设置字段宽度为n位
fill(c) setfill(c) 设置填充宇符c
setf(ios::state) setiosflags(ios::state) 设置输出格式状态,括号中应给出格式状态,内容与控制符setiosflags括号中的内容相同,如表2所示
unsetf(ios::state) resetioflags(ios::state) 终止已设置的输出格式状态,在括号中应指定内容
  • 设置格式状态的格式标志

    格式标志 作用
    ios::left 输出数据在本域宽范围内向左对齐
    ios::right 输出数据在本域宽范围内向右对齐
    ios::internal 数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充
    ios::dec 设置整数的基数为10
    ios::oct 设置整数的基数为8
    ios::hex 设置整数的基数为16
    ios::showbase 强制输出整数的基数(八进制数以0打头,十六进制数以0x打头)
    ios::showpoint 强制输出浮点数的小点和尾数0
    ios::uppercase 在以科学记数法格式E和以十六进制输出字母时以大写表示
    ios::showpos 对正数显示“+”号
    ios::scientific 浮点数以科学记数法格式输出
    ios::fixed 浮点数以定点格式(小数形式)输出
    ios::boolalpha 以“true”/“false”的形式输出布尔值
    ios::unitbuf 每次输出之后刷新所有的流
    ios::stdio 每次输出之后清除stdout, stderr
发表于 2019-02-25 18:34:54 回复(0)
dec表示10进制输出(默认方式),hex表示以16进制输出,oct则表示以8进制输出。
发表于 2018-08-02 09:35:11 回复(1)
题目都出错了,hex写成dex, setf写成self,麻烦认真点
发表于 2018-06-04 22:00:33 回复(0)
usetf(ios::dex)关掉16进制
发表于 2018-07-21 00:03:15 回复(0)
十进制(decimal)
八进制(octal)
十六进制(hex)
编辑于 2020-01-22 22:19:54 回复(0)
hex十六进制 dec十进制
编辑于 2018-06-14 16:34:32 回复(1)
dec表示10进制输出(默认方式),hex表示以16进制输出,oct则表示以8进制输出,十进制转十六进制需要采余数定理分解,算法为100÷16=6 余4,6÷16=0 余6,将余数倒过来排列即为十进制100转十六进制为64。十进制整数化十六进制的通用计算方法:用16整除十进制整数,可以得到一个商和余数;再用16去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为十六进制数的低位有效位,后得到的余数作为十六进制数的高位有效位,依次排列起来,得到十六进制数。
发表于 2022-07-28 16:44:55 回复(0)
第三次改为十进制时为啥不先清八进制的标志?

发表于 2021-03-21 14:48:57 回复(1)

我的编辑器clion c11 是这样的
using namespace std;
int i = 100;
cout.unsetf(ios::dec);
cout.setf(ios::hex);
cout << i << "\t";
cout << i << "\t";
cout.setf(ios::dec);
cout << i << "\t";
return 0;

发表于 2018-05-22 14:49:20 回复(0)