C++学习笔记 1.0.2
对应文件texta.cpp
//库函数的使用(进制)
#include <iostream>
#include <iomanip>//进制的库函数和std空间下的一些格式设置
using namespace std;
int main()
{
/*
*表示进制的:hex(16进制)、dec(10进制)、oct(8进制)。
*进制显示的:showbase(显示进制)、noshowbase(不显示进制)。
* 表示法:fixed(定点表示)、scientific(科学计数法)
* 16进制大写的:uppercase(输出十六进制大写字符)
* iomanip库中:setbase(int)(设置n进制数输出)、
* setfill(char)(设置填充字符)、setw(int)(预设宽度)、
* setprecision(int)(设置实数精度)
*/
int a,b,c;
double d;
cout << "一进制的转换" << endl;
cout << "请输入一个整数:";
cin >> a;
//使用这个函数在输出时是将这个数也进行了进制转换
cout << "该数将以八进制的形式输出:" << std::oct << a << endl;//格式问题
cout << "该数将以十进制的形式输出:" << std::dec << a << endl;
cout << "该数将以十六进制的形式输出:" << std::hex << a << endl;//固定了?
//在使用时,例:std::dec()括号里应该填什么东西还需研究
cout << showbase << a << endl;//从这里的输出就可以算出
cout << noshowbase << a << endl;
cout << "二定点表示" << endl;
cout << "请输入一个浮点数(请输入的浮点数的小数位数大于3):";
cin >> d ;
cout << setprecision(3) << fixed << d << endl;//fixed的暂定用法格式
cout << "科学计数法输出:";
cout << scientific << d << endl ;
// cout << "请输入一个浮点数数(fixed配合科学计数法使用):" ;
cout << "输出前一个输入的数:" << a << endl;//观察输出格式
/*
* 根据输出的样式可以看出在前一个数输出的最后格式为十六进制的
* 再次输出这个数是还是十六进制的样式,猜测在调用格式进制输出
* 的时候会直接更改原来数据的进制格式,不会影响其他数据的格式
*/
// cout.unsetf( ios::fixed );//注意格式,解除封印(滑稽)
// cout << setiosflags(ios::fixed);//相等,同上。
// cout << "再次输出解封格式后的数:" << a << "," << b << endl;
cout << "预设输出数据的宽度,填充字符为@" << endl << "请输入数据的宽度:";
cin >> b;
cout << setw(b) << setfill('@') << left << a;//默认为向右对齐
/*
* 在设置输出宽度时,加入left和right,设置对齐方向。
*/
system("pause");
return 0;
}