diff --git "a/data/3.C\350\257\255\350\250\200\351\253\230\351\230\266/3.\344\275\215\350\277\220\347\256\227/2.\344\272\214\350\277\233\345\210\266\346\225\260/cout.md" "b/data/3.C\350\257\255\350\250\200\351\253\230\351\230\266/3.\344\275\215\350\277\220\347\256\227/2.\344\272\214\350\277\233\345\210\266\346\225\260/cout.md" deleted file mode 100644 index 834656c59561a69dff895ad87f80487f1b15e594..0000000000000000000000000000000000000000 --- "a/data/3.C\350\257\255\350\250\200\351\253\230\351\230\266/3.\344\275\215\350\277\220\347\256\227/2.\344\272\214\350\277\233\345\210\266\346\225\260/cout.md" +++ /dev/null @@ -1,74 +0,0 @@ -# 计算位数 - -计算整数的二进制形式有多少位。 - -## template - -```c -#include - -$code - -int main(char** args){ - printf("bits(%d) has %d bits\n", 100, bits(100)); - printf("bits(%d) has %d bits\n", 32, bits(32)); - printf("bits(%d) has %d bits\n", 10, bits(10)); - printf("bits(%d) has %d bits\n", 25, bits(25)); - printf("bits(%d) has %d bits\n", 7, bits(7)); - return 0; -} -``` - -## 答案 - -```c -unsigned int bits(unsigned int x){ - unsigned int n = 0; - while(x){ - x >>= 1; - n++; - } - return n; -} -``` - -## 选项 - -### 位移计算没有保存 - -```c -unsigned int bits(unsigned int x){ - unsigned int n = 0; - while(x){ - x >> 1; - n++; - } - return n; -} -``` - -### 没有括号导致流程错误 - -```c -unsigned int bits(unsigned int x){ - unsigned int n = 0; - while(x) - x >>= 1; - n++; - - return n; -} -``` - -### 运算符错误 - -```c -unsigned int bits(unsigned int x){ - unsigned int n = 0; - while(x){ - x << 1; - n++; - } - return n; -} -``` \ No newline at end of file