您的位置:首页 > 其它

把数转换成length位的二进制字符串

2015-08-07 11:02 288 查看
#include<iostream>
#include<stdlib.h>
using namespace std;

template<typename T>
string binaryFormat(T val, int length){ //要转换成length位的二进制字符串
string binaryStr(length, '0');
for(int i = 0; i < length; i++){
if((val >> i) & 1)
binaryStr[length - 1 - i] = '1';
}

return binaryStr; //返回值是一个字符串
}
/*
template <typename T>
string formatBinary(T val)
{
int length = 8 ;//  要转换成多少位二进制字符串
string binaryFormat(length, '0');
for (int i = 0; i < length; i++)
{
if ((val >> i) & 1)
binaryFormat[length - 1 - i] = '1';
}

return binaryFormat;
}
*/

int main(){
for(int i = 0; i < 17; i++){
cout<<binaryFormat(i, 8)<<endl;
}
cout<<endl;
cout<<binaryFormat(250, 8)<<endl;
cout<<binaryFormat(251, 8)<<endl;
cout<<binaryFormat(252, 8)<<endl;
cout<<binaryFormat(253, 8)<<endl;
cout<<binaryFormat(254, 8)<<endl;
cout<<binaryFormat(255, 16)<<endl;

return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: