Ik werd op het idee gebracht door een .exe op deze site. Het is mij in het verleden vaak opgevallen hoeveel mensen bijzonder ingewikkelde code maken om getallen te converteren van 1 stelsel naar een ander. Dit terwijl daar helemaal geen reden voor is!
GeSHi (cpp):
#include <iostream>
#include <bitset>
std::string toBin(unsigned long int in, int bits = 0){
std::bitset<32> out(in);
std::string out_str = out.to_string();
if (!bits)
return out_str.substr(out_str.find_first_of('1'), (out_str.size() - out_str.find_first_of('1')));
return out_str.substr(out_str.size()-bits, bits);
}
int main(){
const unsigned long int in = 1234567;
std::cout << in << "=\n";
std::cout << "hex: " << std::hex << in << '\n';
std::cout << "oct: " << std::oct << in << '\n';
std::cout << "bin: " << toBin(in) << '\n';
std::cout << "padding 32 bits: " << toBin(in, 32) << '\n';
}Created by GeSHI 1.0.7.20
Output:1234567=
hex: 12d687
oct: 4553207
bin: 100101101011010000111
padding 32 bits: 00000000000100101101011010000111