//len:输出byte个数
void printBinary(unsigned char * str, u8 *a,int len) {
printf("%8s:\n", str);
int i,j;
u8 t;
for (i = 0; i < len; i++) {
t = a[i];
printf("0x%02x : ",t);
for (j = 0; j < 8; j++) {
printf("%d ", t / 0x80);//取最高位
t = t * 2;
}
printf("\n");
}
printf("\n");
}
int main()
{
u32 t1 = 0xffffffff;
printBinary("temp",(u8*)(&t1),4);//将t1取地址,位(u32*),强制转换为(u8*)
t1 = 0x12345678;
printBinary("temp", (u8*)(&t1), 4);
}
c语言输出二进制表示
最新推荐文章于 2024-05-15 15:13:24 发布