c语言中显示无符号整型数据在计算机存储中二进制位的具体数值
001、
c语言中显示无符号整型数据在计算机存储中二进制位的具体数值
[root@PC1 test2]# cat test.c #include <stdio.h> int bits_count(unsigned x) // 定义函数, 输出二进制位上为1的位数 { int bits; bits = 0; while(x) { if(x & 1U) { bits++; } x >>= 1; } return bits++; } int length_unint(void) // 输出无符号整型的位数 { return bits_count(~0U); } void show_every_bits(unsigned x) // 定义函数,输出无符号整数所有的二进制位数值 { int i; for(i = (length_unint() - 1); i >= 0; i--) { putchar(((x >> i & 1U) ? '1':'0')); } } int main(void) { int a, b, c; a = 1; b = 3; c = 7; // 三个测试数字 show_every_bits(a); putchar('\n'); show_every_bits(b); putchar('\n'); show_every_bits(c); putchar('\n'); return 0; }
,
[root@PC1 test2]# ls test.c [root@PC1 test2]# gcc test.c -o kkk ## 编译,运算测试 [root@PC1 test2]# ls kkk test.c [root@PC1 test2]# ./kkk 00000000000000000000000000000001 00000000000000000000000000000011 00000000000000000000000000000111
。