写一个函数返回参数二进制中 1 的个数(三种方法)
生活随笔
收集整理的這篇文章主要介紹了
写一个函数返回参数二进制中 1 的个数(三种方法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.運用了除法,取余方式遞推出結構
2.運用右移符(>>)運算
3.利用算術與(&)運算
三種方法效率越來越高,減少成本
#include<stdio.h>int Number1(int n) {int k;int count=0;while (n > 0){k = n % 2;n /= 2;if (1 == k){count++;}}return count; }int Number2(int n) {int count = 0;while (n>0){if ((n & 1) == 1){count++;}n = n >>1 ;}return count; }int Number3(int n) {int count = 0;while (n){n = n&(n - 1);count++;}return count; } int main() {int n;printf("請輸入一個數:\n");scanf("%d",&n);int ret1=Number1(n);printf("%d\n",ret1);int ret2 = Number2(n);printf("%d\n",ret2);int ret3 = Number3(n);printf("%d\n",ret3);system("pause");return 0; }轉載于:https://blog.51cto.com/14233078/2378424
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的写一个函数返回参数二进制中 1 的个数(三种方法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是反射和字节码对象。
- 下一篇: python变量和运算符