c/c++ 十进制数输出二进制
2008-03-10 18:29
246 查看
打印二进制的代码也不是那么容易的,不信写个看看,和下面这个(一本老外的C语言教材上的代码)比较一下,看看写的是否全面
//#define CHAR_BIT 8
void bit_print(int a)
{
int i;
int n = sizeof(int) * CHAR_BIT;
int mask = 1 << (n - 1);
for(i = 1; i <= n; ++i)
{
putchar(((a & mask) == 0) ? '0' : '1');
a <<= 1;
if(i % CHAR_BIT == 0 && i < n)
putchar(' ');
}
}
c++就简单多了
cout << bitset<numeric_limits<unsigned int>::digits>(123) << endl;
// 还可以把二进制字符串转换为整数
cout << bitset<100>(string("100010110")).to_ulong() << endl;
//#define CHAR_BIT 8
void bit_print(int a)
{
int i;
int n = sizeof(int) * CHAR_BIT;
int mask = 1 << (n - 1);
for(i = 1; i <= n; ++i)
{
putchar(((a & mask) == 0) ? '0' : '1');
a <<= 1;
if(i % CHAR_BIT == 0 && i < n)
putchar(' ');
}
}
c++就简单多了
cout << bitset<numeric_limits<unsigned int>::digits>(123) << endl;
// 还可以把二进制字符串转换为整数
cout << bitset<100>(string("100010110")).to_ulong() << endl;
相关文章推荐
- C/C++将十进制数转为二进制并输出
- c++ 如何输出8进制和十六进制和二进制
- 递归程序练习:输出十进制数的二进制表示
- c语言编程如何实现-十进制数转换成二进制和输出
- C++——二进制输出一个数以及输出double型位数过多情况
- C++输出二进制、十进制、八进制和十六进制以及左移右移运算符的总结
- C++中几种将整数转换成二进制输出的方法总结
- 雅虎面试题─把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列
- C/C++直接输出一个数据的十六进制、八进制和二进制
- c++ 文本或二进制输出 fstream
- C++中的文件输入/输出(5):二进制文件的处理
- c++ 二进制 八进制 十进制 十六进制 输出
- 雅虎面试题─把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列
- 不是用它printf,将十进制数以二进制和十六进制的形式输出
- C++中几种将整数转换成二进制输出的方法
- C++输出二进制、十进制、八进制和十六进制总结
- 雅虎面试题─把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列
- C++中几种将整数转换成二进制输出的方法
- c++第二周任务一*(1‐1)编写递归函数将十进制数转换成二进制数输出。
- C/C++经典算法精华整理(4)-位字段输出二进制数据