源码来自:
https://github.com/LuaDist/luagl
下面这两个函数写的真是美哭了。
int luagl_str2mask(const char *str)
{
int i, j;
int mask = 0;
int size = (int)strlen(str);
for(i = 0, j = 0; j < size; i++)
{
if(str[i] == '1')
{
mask |= (1 << (size-1-j));
j++;
}
else if(str[i] == '0')
j++;
}
return mask;
}
const char *luagl_mask2str(int mask)
{
unsigned int i;
static char str[17];
for(i = 0; i < 16; i++)
{
if(mask & (1 << (15 - i)))
str[i] = '1';
else
str[i] = '0';
}
str[i] = 0;
return str;
}