下面是摘抄网友的的代码
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); } }
很好好强大,,
使用递归实现的。
我确实拜服。。
以后要多多用递归。。
哈哈。