三种进制相互转化

 

Decimal 十进制

Hexadecimal 十六进制  hex

Octal 八进制 oct

cout<<1234<<"\t nihao \n"

        <<hex<<1234<<"\t hexadecimal\n"  //十六进制

        <<oct<<1234<<"\toctal\n";//八进制

十六进制的数以0x开头  八进制以0开头

需要显示基底时,使用showbase

例如  \t 制表符

cout<<1234<<"\t nihao \n"

        <<hex<<1234<<"\t hexadecimal\n"  //十六进制

        <<oct<<1234<<"\toctal\n";//八进制

Cout<<showbase;//显示基底  showbase是持久显示的,如果想取消显示,可以使用noshowbase

cout<<1234<<"\t nihao \n"

        <<hex<<1234<<"\t hexadecimal\n"  //十六进制

        <<oct<<1234<<"\toctal\n";//八进制

输出结果

fixed scientific  都是用来选择浮点数格式的

ios_base::fmtflags();指定输出外观的常数

·         dec ,插入或提取整数值为十进制格式。

·         hex ,插入或提取整数值以十六进制格式。

·         oct ,插入或提取整数值为八进制格式。

·         showbase ,插入一个显示生成的integer字段的基础的标题。

·         internal ,到一个字段的宽度填充根据需要通过插入空白字符在内部的一个指向生成的数字字段。 有关设置字段宽度的信息,(,请参见 setw)

·         left ,到一个字段的宽度填充根据需要通过插入空白字符在一个生成的字段(左对齐)的末尾。

·         right ,到一个字段的宽度填充根据需要通过插入空白字符在一个生成的字段(右对齐)开头。

·         boolalpha ,对类型 bool 插入或提取对象作为名称(例如 true  false)而不是数值。

·         fixed ,插入浮点值以定点格式(没有指数字段)

·         scientific ,插入浮点值采用科学格式(使用指数字段)

·         showpoint ,插入一个生成的浮点字段无条件地小数点。

·         showpos ,插入加号在非负生成的数字字段。

·         skipws ,在某些提取前跳过的前导空格。

·         unitbuf ,每插入后刷新输出。

·         uppercase ,为小写字母大写插入相当于某些插入的。

此外,许多有用的值为:

·         adjustfield ,为 internal定义的位掩码 | left | right

·         basefield ,定义为 dec | hex | oct

·         floatfield ,定义为 fixed | scientific

以修改这些格式标志的功能的示例,请参见 ios 成员 (在操控器下) <iomanip> 成员。

// ios_base_setf.cpp

// compile with: /EHsc

#include <iostream>

 

int main( )

{

   using namespace std;

   int i = 10;

   cout << i << endl;

 

   cout.unsetf( ios_base::dec );

   cout.setf( ios_base::hex );

   cout << i << endl;

 

   cout.setf( ios_base::dec );

   cout << i << endl;

   cout.setf( ios_base::hex, ios_base::dec );

   cout << i << endl;

}

inline ios_base&general (ios_base &b)

{

    b.setf(ios_base::fmtflags(1),ios_base::floatfield);

    return b;

}

//general 格式的精度下,自动选择fixed scientific 两者中的更为精确的一种表示形式。General 是默认的格斯,但如果想显式设定,你需要自己定义一个general)(),

Fixed  使用定点表示

Scientific 使用尾数和指数表示方式。尾数总在[1:10)之间,也就是说,在小数点之前有单个非0数字。

 

 setprecision() 设置精度 包含在头文件<iomanip>The precision for floating-point values.

例如 cout<<general<<setprecision(5)<<1234567.89<<'\t' 精度设置为5 输出结果1.2346e+006

   

浮点数精度

general

精度就是数字的个数

Scientific(科学计数法)

精度为小数点之后数字的个数

Fixed(定点)

精度为小数点之后数字的个数

Setw()函数可以精确定义一个整数或者字符串占用多少位

例如cout<<'|'<<setw(8)<<1234<<'|'

            <<setw(8)<<"nihao"<<'|'<<endl;

setw()函数域不是持久的,需要设定的时候必须写上去

你可能感兴趣的:(hex,OCT,dec)