程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 不用任何位操作,獲得一個int變量的第九位

不用任何位操作,獲得一個int變量的第九位

編輯:C++入門知識

不用任何位操作(&、|、^、<<、>>、~),實現一個函數,得到一個int型數的第九位(從第一位開始計數)

 

 

[cpp]
int check() 

    union utype 
    { 
        int i; 
        char c; 
    }; 
    utype u; 
    u.i=1; 
    return u.c==1; 

 
int getbit(int val) 

    char *p=(char *)&val; 
    p++; 
    if(check())          
        return (*p)%2;   //如果是小端模式  
 
    else 
        return (*p)/128; //如果大端模式  

int check()
{
 union utype
 {
  int i;
  char c;
 };
 utype u;
 u.i=1;
 return u.c==1;
}

int getbit(int val)
{
 char *p=(char *)&val;
 p++;
 if(check())        
  return (*p)%2;   //如果是小端模式

 else
  return (*p)/128; //如果大端模式
}

int get9thbit(int val)

{

return (val/256)%2;

}


 

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