C++中如何以自己设置的位数(长度)显示一个四进制数
问题描述:
itoa(int, char* string, int);
我想把一个十进制数转成四进制数,用的以上函数,结果类似于:90 转为 1122
但是我想以6位定长显示四进制数,也就是001122,或者8位显示为00001122
要如何实现呢?
答
#include<iostream>
#include<iomanip>//包含这个
using namespace std;
int main()
{
int i=1122;
cout<<setw(6) << setfill('0')<<i<<endl;//setw设置长度,setfill设置填充的数字。
}
答
string ito4(int nNum)
{
int n1,n2,n3,n4,n5,n6;
char sArry[7];
n1 = nNum/1024;
n2 = (nNum - n1*1024)/256;
n3 = (nNum - n1*1024 - n2*256)/64;
n4 = (nNum - n1*1024 - n2*256 - n3*64)/16;
n5 = (nNum - n1*1024 - n2*256 - n3*64 - n4*16)/4;
n6 = nNum - n1*1024 - n2*256 - n3*64 - n4*16 - n5*4;
sprintf(sArry,"%d%d%d%d%d%d",n1,n2,n3,n4,n5,n6);
return sArry;
}