【发布时间】:2014-10-20 23:52:40
【问题描述】:
如何将 * char 或 char 转换为 bits ? 例如: 这是我的声明
uint64_t blocks[64];
char * word = "hello";
如何将单词 hello 存储在 blocks[0] 中的字节中? 我试过这个
int e;
int a = strlen(word);
for (e = 0; e < a; e++) {
blocks[0] |= !!word[e] >> 8;
}
另外,我将如何扭转这个过程?
【问题讨论】:
-
memcpy(blocks, word, strlen(word))呢? -
我需要它们的位形式,比如 00100101
-
blocks[0] |= !!word[e] >> 8;你觉得这有什么作用?我不确定您的预期输出是什么。您的整个循环只能减少到最后一次迭代。这与位图有什么关系。 @_@。 -
ie 'h' -> 0x68 -> 01101000(10) ,
blocks[0] = 1101000; -
是的,然后我必须将它存储在 blocks[0] 中。