方法一:
将转换过程中产生的数值暂存于数组中,转换完成后倒序到打印数组的数值
#include<stdio.h>
void int2binary(int x)
{
char binary[32];
char i = 0, j = 0;
while(x)
{
binary[i] = (x % 2);
++i;
x = x >> 1;
}
for(j = i - 1; j >= 0 ; --j)
{
printf("binary:%d", binary[j]);
}
printf("\n");
}
方法二:使用递归的方法实现代码如下:
#include <stdio.h>
void printb(int n)
{
if(n < 0) {
putchar('-');
n = -n;
}
if(n >> 1)
printb(n >> 1);
putchar(n % 2 + '0');
}
2. 整数转换为八进制
方法一:
#include<stdio.h>
void int2binary(int x)
{
char binary[32];
char i = 0, j = 0;
while(x)
{
binary[i] = (x % 8);
++i;
x = x >> 3;
}
for(j = i - 1; j >= 0 ; --j)
{
printf("octal:%d", binary[j]);
}
printf("\n");
}
方法二:
#include <stdio.h>
void printo(int n)
{
if(n < 0) {
putchar('-');
n = -n;
}
if(n >> 3)
printo(n >> 3);
putchar(n % 8 + '0');
}