十进制转换成二进制程序
发布网友
发布时间:2022-05-11 04:11
我来回答
共1个回答
热心网友
时间:2024-01-18 15:32
/**
*parameter: number 要转换的整数,ret[] 存放的转换后的二进制字节数组,ret_len 字节数组长度
*return: 0 失败,1 成功
**/
int IntegerToBinary(int number, char ret[], int ret_len)
{
unsigned int index;
int i=0, N=sizeof(int)*8; //获取int类型的位数
if (ret_len < N)
{
return 0;
}
index = 1<<(N-1); //将1循环左移N-1次
for (i=0; i<N; ++i)
{
ret[i] = ((number&index)==0)?'0':'1'; //将需要求值的整型数与index按位相“与”,从最高位起判断是否为1
index >>= 1; //将index值循环右移
}
return 1;
}
使用:
char c[16] = {0};
IntegerToBinary(53,c,sizeof(c));