From e85b1647f76ba9703a0bf8dec95b91978e3621be Mon Sep 17 00:00:00 2001 From: Mars Liu Date: Thu, 21 Oct 2021 21:56:52 +0800 Subject: [PATCH] fixed a settings error --- .../cout.md" | 74 ------------------- 1 file changed, 74 deletions(-) delete mode 100644 "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" 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 834656c..0000000 --- "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 -- GitLab