C++中几种将整数转换成二进制输出的方法
看《编程之美》第二节的时候,它是定义的一个整型,然后取位。但是他的那个或运算符号好像写错了,写成了异或符号“^”,应该是“|”。我就突然对二进制的输出感兴趣了。想知道怎样输出二进制。我们知道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++中几种将整数转换成二进制输出的方法相关推荐
- 如何把一个整数转换成二进制
下面介绍一种把键盘输入的整数转换成二进制的方法:程序如下: #include <stdio.h>void int2bin1(int num) {int i;for(i = 1; i < ...
- 实现 十进制整数转换成二进制,八进制,十六进制
整型有4种进制形式: 1.十进制: 都是以0-9这九个数字组成,不能以0开头. 2.二进制: 由0和1两个数字组成. 3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始. ...
- C#将image中的显示的图片转换成二进制
原文:C#将image中的显示的图片转换成二进制 1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才 ...
- c语言 整数转二进制取位,C语言位运算--将整数转换成二进制串以及反转整数后N位...
// c primer plus上的内容,位运算 #include char * itobs (int n,char * ps); void show_bstr(const char *); int ...
- c语言 整数转换成二进制 模仿c++的 _itoa() 函数
_itoa() 函数 头文件 :#include <stdlib.h> char *_itoa(int _value, char* _Dest, int _Radix); 功能:实现整数转 ...
- python输出图片到word_python将文本转换成图片输出的方法
本文实例讲述了python将文本转换成图片输出的方法.分享给大家供大家参考.具体实现方法如下: #-*- coding:utf-8 -*- from PIL import Image,ImageFon ...
- 计算机中实现10进制转换成二进制c编程
方法1(代码附上,暂时未行通,有兴趣可以修改一下) #include <stdio.h> int dectobe(int n) {int temp=n;int k=1;int result ...
- c语言输入整数要求输出字符,求C语言 将输入整数转换成字符串输出!
#include #include int power(int a, int n) { return pow((double)a, n); } #define pow power int main() ...
- php 把图片转换成二进制流,php把图片转换成二进制流的方法
PHP中的isset() 函数用于检测变量是否已声明并且非 NULL.该函数返回布尔类型的值,即true/false.格式:bool isset ( mixed var [, mixed var [, ...
最新文章
- 改变myeclipse北京颜色
- es中的ResourceWatcherService
- c iostream.源码_通达信常用指标:「金手指 」指标源码
- 【机器学习】用摸鱼学来解释隐马尔可夫模型(HMM)
- oracle游标的说法,oracle游标练习题.doc
- 音视频技术开发周刊 | 144
- 文献学习(part47)--A novel consensus learning approach to incomplete multi-view clustering
- linux的yum命令无法使用在哪里下载_Linux 知识分享:为Linux的cp和mv命令添加进度条...
- jquer WdatePicker 使用 手册
- QList (链表) QVector (数组)
- 计算理论101:这可能是讲FSM的最生动的一篇了
- sql: table,view,function, procedure created MS_Description in sql server
- 获取类型的完全限定名
- 等级保护测评三级-安全通用要求大纲
- 中嘉城湖靠谱国有企业要为实现人民对美好生活的向往不断奋斗
- Excel-每隔几行进行转置一次
- 生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等...
- C++运算符重载(简单易懂)
- java基本类型的小把戏
- 基本数据类型有哪些?
热门文章
- 命令行获取docker远程仓库镜像列表
- 利用爬虫模拟网页微信wechat
- documentbodyscrollTop的值总为零的解决办法
- android 处理鼠标滚轮事件 【转】
- 使用BizTalk Server常见问题处理
- HK-2000 数采仪系统说明之 5.H2000SService程序调用说明
- python中自定义模块导入飘红_hadoop streaming 中跑python程序,自定义模块的导入
- mysql一些常用操作_表的一些常用操作_MySQL
- 巡回沙龙_美浮特全国巡回沙龙第一期结束撒花!
- 算法转换c语言程序,(转)C语言实现卡尔曼滤波算法程序