void run() {
unsigned int c[] = {0x12345678,0x77777777};
int n = 32;
string ans = "";
for(int i = 0; i < 2; i++) {
ans = "";
cout<<(&c + i)<<":";
n = 32;
while(n--) {
ans = char('0' + (c[i] & 0x1)) + ans;
c[i] >>= 1;
}
cout<<ans<<endl;
}
}
结果:

结果转化为十六进制:
0x70fdb0:0x12 34 56 78;可判断是大端(低地址放高有效位)。

这段C++代码展示了如何将16进制数以大端模式转换为二进制字符串。它遍历数组,逐位提取并反转二进制位,最终输出结果。代码涉及位操作、字符串拼接以及大端存储的理解。
3万+

被折叠的 条评论
为什么被折叠?



