打印unsigned char * single_char的位表示;

时间:2011-01-28 19:56:02

标签: c

扩展我的other question ..

unsigned char* s_char = data + offset;
(*s_char) = size_t(((*s_char) & 0xf0)) | new_doff;

如何打印s_char的位表示?

2 个答案:

答案 0 :(得分:1)

您需要使用以下内容手动打印:

  printf("%d%d%d%d%d%d%d%d", *s_char & 0x80, *s_char & 0x40, ..., *s_char & 0x01);

答案 1 :(得分:1)

我会像

一样使用类型转换为int
unsigned char* s_char = data + offset;  
(*s_char) = size_t(((*s_char) & 0xf0)) | new_doff;  
int s_char_int;
s_char_int = (int)s_char;  

然后您可以将其打印到控制台或任何您想要的其他内容