001、
#include <stdio.h> int count_bits(unsigned x) //此处定义函数, 用于返回任意unsigned 整型以二进制位表示时,1的总个数 { int bits = 0; while(x) { if(x & 1U) { bits++; } x >>= 1; } return bits; } int int_bits(void) // 返回无符号整型数据的总位数 { return count_bits(~0U); } void print_nbits(unsigned x, unsigned n) // 输出二进制数, 同时指定了显示的位数 { int i = int_bits(); i = (n < i) ? (n - 1):(i - 1); for(; i >= 0; i--) { putchar(((x >> i) & 1U) ? '1' : '0'); } } int main(void) { unsigned i; for(i = 0; i <= 10U; i++) //输出0~10u之间的所有无符号整数的十进制、二进制、8进制和16进制 { printf("%5u ", i); print_nbits(i, 16); printf(" %06o %04x\n", i, i); } return 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。