看《编程之美》第二节的时候,它是定义的一个整型,然后取位。但是他的那个或运算符号好像写错了,写成了异或符号“^”,应该是“|”。我就突然对二进制的输出感兴趣了。想知道怎样输出二进制。我们知道C++输出十六进制是cout〈〈hex〈〈 a;而八进制是cout〈〈 ocx〈〈 a;二进制则没有默认的输出格式,需要自己写函数进行转换,于是上网搜索了一下。网上思路真是广泛啊。下面列出一些方法。

#include 〈iostream〉
#include 〈list〉
#include 〈bitset〉
using namespace std; //递归输出二进制函数
void BinaryRecursion(int n)
{  int a;  a=n%2;  n=n〉〉1;  if (n==0)  return;  else  BinaryRecursion(n);  cout〈〈a;
} //使用容器转换二进制
void BinaryVector(int n)
{  int temp;  temp=n;  list〈int〉 L;  while(temp!=0)  {  L.push_front(temp%2);  temp=temp〉〉1;  }  for (list〈int〉::iterator iter=L.begin();iter!=L.end();iter++ )  cout〈〈*iter;  cout〈〈endl;
} //一般方法,32位,逐步与1做与运算。
void Binarycout(int n)
{  for (int i=31;i〉=0;i--)  {  cout〈〈((n〉〉i)&1);  }  cout〈〈endl;
} //使用bitset转换二进制
void BinaryBitset(int n)
{  cout〈〈bitset〈sizeof(int)*8〉(n)〈〈endl;
}  int main()
{  int a=1045,b=2;  int c;  c=a+b;  cout〈〈"BinaryRecursion(c):";  BinaryRecursion(c);  cout〈 BinaryVector(c);  cout〈〈"Binarycout(c):";  Binarycout(c);  cout〈〈"BinaryBitset(c):";  BinaryBitset(c);  cout〈〈"BinaryChar(c):";  BinaryChar(c);  //cout〈 return 0;
}  

运行后的结果如下:  
BinaryRecursion(c):10000010111  
BinaryVector(c):10000010111  
Binarycout(c):00000000000000000000010000010111  
BinaryBitset(c):00000000000000000000010000010111  
BinaryChar(c):10000010111  
Press any key to continue

从中可以看出,有两种运算会得出32位的结果,不太好。我对C++还不是很精通,所以这个效率还不是很清楚哪个个好。  
我觉得用容器的可能会好些吧。如果是C,就用字符转换函数,或者直接除后和1做与运算。

C++中几种将整数转换成二进制输出的方法相关推荐

  1. 如何把一个整数转换成二进制

    下面介绍一种把键盘输入的整数转换成二进制的方法:程序如下: #include <stdio.h>void int2bin1(int num) {int i;for(i = 1; i < ...

  2. 实现 十进制整数转换成二进制,八进制,十六进制

    整型有4种进制形式: 1.十进制: 都是以0-9这九个数字组成,不能以0开头. 2.二进制: 由0和1两个数字组成. 3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始. ...

  3. C#将image中的显示的图片转换成二进制

    原文:C#将image中的显示的图片转换成二进制 1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才 ...

  4. c语言 整数转二进制取位,C语言位运算--将整数转换成二进制串以及反转整数后N位...

    // c primer plus上的内容,位运算 #include char * itobs (int n,char * ps); void show_bstr(const char *); int ...

  5. c语言 整数转换成二进制 模仿c++的 _itoa() 函数

    _itoa() 函数 头文件 :#include <stdlib.h> char *_itoa(int _value, char* _Dest, int _Radix); 功能:实现整数转 ...

  6. python输出图片到word_python将文本转换成图片输出的方法

    本文实例讲述了python将文本转换成图片输出的方法.分享给大家供大家参考.具体实现方法如下: #-*- coding:utf-8 -*- from PIL import Image,ImageFon ...

  7. 计算机中实现10进制转换成二进制c编程

    方法1(代码附上,暂时未行通,有兴趣可以修改一下) #include <stdio.h> int dectobe(int n) {int temp=n;int k=1;int result ...

  8. c语言输入整数要求输出字符,求C语言 将输入整数转换成字符串输出!

    #include #include int power(int a, int n) { return pow((double)a, n); } #define pow power int main() ...

  9. php 把图片转换成二进制流,php把图片转换成二进制流的方法

    PHP中的isset() 函数用于检测变量是否已声明并且非 NULL.该函数返回布尔类型的值,即true/false.格式:bool isset ( mixed var [, mixed var [, ...

最新文章

  1. 改变myeclipse北京颜色
  2. es中的ResourceWatcherService
  3. c iostream.源码_通达信常用指标:「金手指 」指标源码
  4. 【机器学习】用摸鱼学来解释隐马尔可夫模型(HMM)
  5. oracle游标的说法,oracle游标练习题.doc
  6. 音视频技术开发周刊 | 144
  7. 文献学习(part47)--A novel consensus learning approach to incomplete multi-view clustering
  8. linux的yum命令无法使用在哪里下载_Linux 知识分享:为Linux的cp和mv命令添加进度条...
  9. jquer WdatePicker 使用 手册
  10. QList (链表) QVector (数组)
  11. 计算理论101:这可能是讲FSM的最生动的一篇了
  12. sql: table,view,function, procedure created MS_Description in sql server
  13. 获取类型的完全限定名
  14. 等级保护测评三级-安全通用要求大纲
  15. 中嘉城湖靠谱国有企业要为实现人民对美好生活的向往不断奋斗
  16. Excel-每隔几行进行转置一次
  17. 生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等...
  18. C++运算符重载(简单易懂)
  19. java基本类型的小把戏
  20. 基本数据类型有哪些?

热门文章

  1. 命令行获取docker远程仓库镜像列表
  2. 利用爬虫模拟网页微信wechat
  3. documentbodyscrollTop的值总为零的解决办法
  4. android 处理鼠标滚轮事件 【转】
  5. 使用BizTalk Server常见问题处理
  6. HK-2000 数采仪系统说明之 5.H2000SService程序调用说明
  7. python中自定义模块导入飘红_hadoop streaming 中跑python程序,自定义模块的导入
  8. mysql一些常用操作_表的一些常用操作_MySQL
  9. 巡回沙龙_美浮特全国巡回沙龙第一期结束撒花!
  10. 算法转换c语言程序,(转)C语言实现卡尔曼滤波算法程序