将0-63之间(包含0和63)的int类型数据压缩到6位二进制字符串:
void IntToChar6(int i_num, char* c_num, int size)
{
char temp[6];
itoa(i_num, temp, 2); // 将int型转换为二进制字符串
int len = strlen(temp);
if (len < size)
{
for (int i = 0; i < len; i++)
{
c_num[size - len + i] = temp[i];
}
// 不够6位则补零
for (int j = 0; j < (size - len ); j++)
{
c_num[j] = 0 + 48;
}
}
}
输入一个二进制字符串,输出十进制数
例:str=“1100”
输出:12
int CharToInt(char* c_num, int size)
{
int num = 0;
for (int i = 0; i < size; i++)
{
num = num * 2 + (c_num[i] - '0');
}
return num;
}
本文介绍了一个用于将0-63范围内的整数转换为固定长度6位二进制字符串的方法,并提供了一个从二进制字符串反向转换为整数的示例函数。这些函数对于数据压缩及二进制数据处理非常有用。

2051

被折叠的 条评论
为什么被折叠?



