十进制转换成二进制

//十进制转2进制 #include<iostream> using namespace std; int inttoBin(int num) { int i,tag=0; unsigned int mask = 0x80000000 ;//1000 0000 0000 0000 for(i = 0; i < 32; i++)// 32次 { if((num & mask) == mask) { if(!tag) tag=1; printf("1"); } else if(tag) { printf("0"); } num = num << 1; /*if((i + 1) % 4 ==0) //每四个空位 { printf(" "); }*/ } printf(" "); } int main() { inttoBin(11); }
十、八进制转换成十六进制 注意代码注释

//8进制转换成16进制 八进制表示0 #include<iostream> #include<cstring> using namespace std; int inttoox(unsigned int num) { int i; unsigned int temp = num; char s[11]; memset(s,0,sizeof(char)); char tmp='a'; s[0] = '0'; s[1] = 'x'; s[10] = ''; unsigned int mask = 0x0000000f; for(i = 2; i < 10; i++) { if((temp & mask) >=10) //不要忘了等于号 { s[11-i] = (temp & mask) - 10 + 'a'; if(s[11-i]=='a') cout<<s[11-i]<<endl; } else { s[11-i] = (temp & mask) + '0'; } temp = temp >> 4; } printf("result = %s ",s); //printf("result = %s ",s); } int main() { int x=10;//十进制 for(int x=10;x<=16;x++) inttoox(x); inttoox(012);//八进制 }