当前位置: 首页 > 编程笔记 >

C++中几种将整数转换成二进制输出的方法总结

长孙章横
2023-03-14
本文向大家介绍C++中几种将整数转换成二进制输出的方法总结,包括了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) 
 ; 
 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++中几种将整数转换成二进制输出的方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 为了将整数转换为二进制,我使用了以下代码: 什么时候擦除“ 0b”,我用这个: 我能做些什么,如果我想展现的,而不是? 问题答案: 仅说明格式化字符串的部分: 将变量放入字符串 将变量放在参数位置0 为该变量添加格式设置选项(否则它将代表小数) 将数字格式化为左侧零填充的八位数字 将数字转换为其二进制表示形式 如果您使用的是Python 3.6或更高版本,则还可以使用f字符串:

  • [编辑] 如果已经在不同的线程中回答,请道歉。我在最近的一次采访中被问到这个问题。给定一大串整数(

  • 我正试图编写一个程序,将二进制数字转换成相应的十进制值。虽然错误报告有效,但我似乎在这里得到了与输出相同的二进制数。fIdx是一种正向扫描仪,不进行任何计算。请帮忙!

  • 本文向大家介绍python 将html转换为pdf的几种方法,包括了python 将html转换为pdf的几种方法的使用技巧和注意事项,需要的朋友参考一下 将 HTML 网页转换为 PDF 是很多人常见的一个需求,在浏览器上,我们可以通过浏览器的“打印”功能直接将网页打印输出为 PDF。 但是如果有多个网页就不好办了。 二进制软件 网络上存在很多将 HTML 转换为 PDF 的软件和工具。比较著名

  • 我正在尝试尽快将十六进制转换为整数。 这只有一行:< code > int x = atoi(hex . c _ str); 有没有更快的方法? 在这里,我尝试了一种更动态的方法,它稍微快一点。

  • 本文向大家介绍C#中DataTable 转换为 Json的方法汇总(三种方法),包括了C#中DataTable 转换为 Json的方法汇总(三种方法)的使用技巧和注意事项,需要的朋友参考一下 在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>、DataTable转换为Json格式。特别在使用Extjs框架的时候,Ajax异步请求的数据