21 lines
380 B
C
21 lines
380 B
C
#include <stdint.h>
|
|
#include <stddef.h>
|
|
#include "ucore/string.h"
|
|
|
|
char*
|
|
uc_sprintbll(char *result, unsigned long long value)
|
|
{
|
|
char *s = result;
|
|
unsigned long long mask = ~((unsigned long long) (~0) >> 1);
|
|
|
|
if (s) {
|
|
while (mask) {
|
|
*s++ = (mask & value) ? '1' : '0';
|
|
mask >>= 1;
|
|
}
|
|
*s = '\0';
|
|
}
|
|
|
|
return result;
|
|
}
|