啥东东…………
程序代码:
#include <stdio.h> #define N 12 int main(void) { struct { unsigned char bin:2; } b; int i; printf ("repeat 4 num\n"); b.bin = 0; for (i=1; i<=N; i++) printf ("%d\n", b.bin++); printf ("repeat 3 num\n"); b.bin = 0; for (i=1; i<=N; i++) { printf ("%d\n", b.bin++); b.bin += b.bin & (b.bin>>1); // 只比上面多了这句 } return 0; }
输出直接用10进制形式。如需2进制形式需要写个函数。