- //定义一个 putBinary 函数 没有返回值, 形式参数是 int 类型
- void putBinary(int n)
- {
- // 定义 一个 变量 bits , 把 整形变量 n 在内存中所占的字节 (在苹果 64位编译器下 是4个字节)乘上一个 8 最后赋给变量 bits 。 这句代码 就是求出 变量 n在内存中有几位。
- int bits = sizeof(n) * 8;
- // 当 bits-- (就是bits-1) 大于零时 这个就是循环结构 的 判断条件部分
- while (bits-->0)
- {
- // 变量n x向右移动 (bits-1) 位 然后再与 1 位与运算就是 想通返回1 不同返回0 。如果一位是 1 值就是 1 那一位是 0 就返回 0
- printf("%d", n>>bits&1);
- // 如果 bits的值 除以4 余数为零, 那么 打印一个空格
- if (bits%4==0) printf(" ");
- }
- // 此时 分析 是否 满足 (bits-1) 大于零的条件 如果满足 再执行一次 循环
- }
复制代码 |