①.设置了输出位数和补充位数后以下的所有输出都按照这个标准,有需要的话可以重新设置。
#include <iostream>
#include <iomanip> //setprecision函数以及setiosflags函数
using namespace std;
int main(){
double a,b;
cin>>a>>b;
//保留小数点后九位
cout<<fixed<<setprecision(9)<<a/b<<endl;
return 0;
}
②.进制转换,这个有的编译器会不好使(例如dev),用vs是可以的
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << setbase(16)<< a <<" "<< b;//setbase里是输出位数
return 0;
}
进制转换的另外一种方法。
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
int a;
cin >> a;
//转换成十六进制
cout<< hex << a<<endl;
//八进制
cout<< oct << a<<endl;
//十进制
cout<< dec << a<<endl;
//二进制就原理解决吧
vector<int> res;
while(a){
int tem=a%2;
a /=2;
res.push_back(tem);
}
for(int i=res.size()-1;i>=0;i--){
cout<<res[i];
}
return 0;
}
[Error]%20ld%20returned%201%20exit%20status
还有这个错误今天用的时候突然报错,好像是编译器的问题,鬼畜的dev一会又好了
③.关于占位符和左右对齐
//包含文件
#inlcue <iomanip>
//输出10左对齐,占位为2,相当于c里面的%2d
cout<<std::left<<setw(2)<<10;