如何在使用位字段的 C 中显示结构变量的位模式?
How to display the bit pattern of a Structure variable in C which uses bit fields?
Struct some{
unsigned int a:5;
Unsigned int b:6;
} std1;
现在让我们在 std1 中存储一些值。现在我们如何在C中显示结构变量std1的位模式?
对于 C 中的任何数据类型,您都可以通过使用字符类型指针对其进行迭代来检查其原始二进制内容。示例:
const uint8_t* ptr = (const uint8_t*)&std1;
for(size_t i=0; i<sizeof std1; i++)
{
printf("%.2X ", (unsigned int)ptr[i]);
}
(uint8_t
将始终是所有现实世界系统中的字符类型,除了一些不应该用于任何目的的功能失调的遗留 DSP。)
Struct some{
unsigned int a:5;
Unsigned int b:6;
} std1;
现在让我们在 std1 中存储一些值。现在我们如何在C中显示结构变量std1的位模式?
对于 C 中的任何数据类型,您都可以通过使用字符类型指针对其进行迭代来检查其原始二进制内容。示例:
const uint8_t* ptr = (const uint8_t*)&std1;
for(size_t i=0; i<sizeof std1; i++)
{
printf("%.2X ", (unsigned int)ptr[i]);
}
(uint8_t
将始终是所有现实世界系统中的字符类型,除了一些不应该用于任何目的的功能失调的遗留 DSP。)