程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言實現之比較兩數有多少位不同

C語言實現之比較兩數有多少位不同

編輯:關於C語言

C語言實現之比較兩數有多少位不同


問題描述: 兩個int(32位)整數m和n的二進制表達中,有多少個位(bit)不同?  輸入例子: 1999 2299 輸出例子:7 代碼實現:  
#include <stdio.h>
int main()
{
 int m=1999;//011111001111
 int n=2299;//100011111011
 int c=m^n; //111100110100
 int count=0;
 while (c)
 {
  if(c%2==1)
  {
   count++;
  }
  else
  {
   ;
  }
  c=c>>1;
 }
 printf("%d\n",count);
 return 0;
}

 

  結果是:7

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved