下面是摘抄网友的的代码
void fun(int i, char *res){
int j = 0;
while(i){
*(res + j) = i % 2 + '0';
i /= 2;
++j;
}
*(res + j) = '\0';
strrev(res);
}
这个感觉太冗长了。
而后是这个:
#include <iostream>
#include <bitset>
#include <string>
void printBinary(int n) {
std::bitset<32> bits(n);
for (int i = bits.size() - 1; i >= 0; --i) {
std::cout << bits[i];
}
std::cout << std::endl;
}
感觉还比较简洁的c++代码
#include<iostream>
#include<bitset>
using namespace std;
void two(int x)
{
bitset<32> two(x);
for(int len=two.size()-1;len>=0;--len)
cout<<two[len];
cout<<endl;
}
这个是我看到的非常好的二进制显示代码。。
不过,最后我要的是推荐我更欣赏的代码,
而且是c的。。哈哈
void binary_(int x)
{
if (x<=0) return;
else
{
binary_(x/2);
printf("%d",x%2);
}
}
很好好强大,,
使用递归实现的。
我确实拜服。。
以后要多多用递归。。
哈哈。
原文链接: https://www.cnblogs.com/hcu5555/archive/2012/09/03/2668661.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/61700
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!