中给出无符号的64位整数。其中有多个位被设置的 。 想要处理位图并确定位置,并根据位的位置返回字符串。 例如:无符号整数是12.意味着设置了第三位和第四位的1100。这应该打印三个四个 函数采用unsigned int并返回字符串。 我看了一些代码片段,我不认为这是其他问题的重复。识别在位图中设置的位,并在字符串
char* unsigned_int_to_string(unsigned long int n)
{
unsigned int count = 0;
while(n)
{
int i, iter;
count += n & 1;
n >>= 1;
}
/*** Need help to fill this block ***/
/** should return string THREE FOUR***/
}
#include <stdio.h>
int main()
{
unsigned long int i = 12;
printf("%s", unsigned_int_to_sring(i));
return 0;
}
为什么你定义函数返回'char *',而你实际返回的是'unsigned int'? – Matso
马索,确定位集的数量,它们的位置和从它们派生的字符串。我试过的粘贴代码。 –