国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

怎么做網(wǎng)站掃描廣告點(diǎn)擊一次多少錢

怎么做網(wǎng)站掃描,廣告點(diǎn)擊一次多少錢,免費(fèi)企業(yè)名錄數(shù)據(jù),獵頭公司人才招聘目錄 題目 實(shí)例 方法一:直接交換 方法二:間接交換 拓展 題目 編寫一個(gè)函數(shù),將一個(gè)無(wú)符號(hào)整數(shù)的所有位逆序(在32位機(jī)器下) 實(shí)例 例如有一個(gè)無(wú)符號(hào)整數(shù) unsigned int num 32; unsigned int 在32位系統(tǒng)中占4個(gè)字…

目錄

題目

實(shí)例

方法一:直接交換

方法二:間接交換

拓展


題目

編寫一個(gè)函數(shù),將一個(gè)無(wú)符號(hào)整數(shù)的所有位逆序(在32位機(jī)器下)

實(shí)例

例如有一個(gè)無(wú)符號(hào)整數(shù)?

unsigned int num = 32;

unsigned int 在32位系統(tǒng)中占4個(gè)字節(jié)(32位)

32的二進(jìn)制數(shù)是:? ? ? ?0000 0000 0000 0000 0000 0000 ?0010 0000

逆序后的二進(jìn)制數(shù)是:?0000 0100 0000 0000 0000 0000 ?0000 0000

逆序后10進(jìn)制數(shù)是? ?: ?1 * 2^26 = 67108864

方法一:直接交換

思路:就是將num的最高位最低位依次取出并交換

問(wèn)題來(lái)了: 如何依次取出最高位和最低位呢?

先說(shuō)最低位:

可以利用 0 & 1 = 0 , 1 & 1 = 1的方法判斷,即可用0x00000001和num進(jìn)行&運(yùn)算,如果結(jié)果是0則表示最低位是0,否是是1

同理:最高位將num與0x80000000進(jìn)行&運(yùn)算(因?yàn)?的二進(jìn)制是10000),如果結(jié)果是0則表示最低位是0,否是是1

取出最高位最低位就可以進(jìn)行交換。

if(最高位是1)

{

? ? ? ? 將最低位變成1

? ? ? ? 利用 0 | 1 = 1 , 1 | 1 = 1來(lái)進(jìn)行操作

? ? ? ? num = num | 0x00000001;// 即最低位變成1

}??

else

{? ??

? ? ? ? 將最低位變成0

? ? ? ? 利用 0 &?1 = 1 , 1 &?1 = 1來(lái)進(jìn)行操作

? ? ? ? num = num & 0xFFFFFFFE;// 即最低位變成0

????????0xFFFFFFFE還可以換一種寫法: ~(0x00000001) 這樣方便移位

}

?最低位同理

unsigned int reverseBits(unsigned int num)
{int i;for (i = 0; i < 16; i++){// 左往右依次取出num最高位unsigned int hight = (num & 0x80000000 >> i) == 0 ? 0 : 1;// 右往左依次取出num最低位unsigned int low   = (num & 0x00000001 << i) == 0 ? 0 : 1;// 改變最低位if (hight == 1){// 低位變成1num |= (0x00000001 << i);}else{// 低位變成0num &= ~(0x00000001 << i);}// 改變最高位if (low == 1){// 高位變成1num |= (0x80000000 >> i);}else{// 高位變成0num &= ~(0x80000000 << i);}}return num;
}

方法二:間接交換

思路:就是將num的各個(gè)位取出并逆序存放在數(shù)組中,然后轉(zhuǎn)成十進(jìn)制

// 思路就是將各個(gè)位都取出來(lái) 逆序存在數(shù)組
unsigned int reverseBits_2(unsigned int num)
{int bits[32]; // 存放num的各個(gè)位int i;for (i = 0; i < 32; i++){if (((num >> i) & 1) == 1)// 判斷num的最低位是0還是1{bits[32 - i - 1] = 1;}else{bits[32 - i - 1] = 0;}}// 再組合(就是已知二進(jìn)制數(shù)求10進(jìn)制數(shù))unsigned int ret = 0;for (i = 0; i < 32; i++){if (bits[i] != 0){ret += (unsigned int)pow(2, i);}}return ret;
}

拓展

求一個(gè)數(shù)二進(jìn)制1的個(gè)數(shù)

        //方法一:1 左移for (int i = 0; i < 32; i++) {if((num&(1<<i)) == (1<<i)){count++;}}//方法二:數(shù)字右移for (int i = 0; i < 32; i++){if(((num>>i)&1)==1){count++;}}//方法三:減一&本身減一相當(dāng)于將最后一個(gè) 1 消掉,后面的0變?yōu)?,在&相當(dāng)于去掉 最后一個(gè)1while (num!=0){num=(num-1) & num;count++;}

http://www.aloenet.com.cn/news/32323.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)公司的服務(wù)特點(diǎn)網(wǎng)站優(yōu)化方案模板
  • 做電影網(wǎng)站考什么電商平臺(tái)推廣費(fèi)用大概要多少
  • 網(wǎng)站優(yōu)化要從哪些方面做上海seo網(wǎng)站推廣
  • 吉林市做網(wǎng)站的科技公司網(wǎng)絡(luò)推廣常見的方法
  • 純html5網(wǎng)站源碼長(zhǎng)沙網(wǎng)站優(yōu)化價(jià)格
  • 網(wǎng)站加速cdn自己做互聯(lián)網(wǎng)推廣是什么
  • 怎樣用wordpress建站網(wǎng)絡(luò)銷售是什么工作內(nèi)容
  • 社交平臺(tái)推廣方式seo外包方法
  • 網(wǎng)站建設(shè) 時(shí)間安排推廣軟件賺錢的app
  • 網(wǎng)站建設(shè)正版軟件廣東網(wǎng)站營(yíng)銷seo方案
  • 做網(wǎng)站 價(jià)格seo怎么優(yōu)化方案
  • 保定專業(yè)做網(wǎng)站的公司最近的國(guó)際新聞
  • 足球網(wǎng)站建設(shè)企業(yè)網(wǎng)站怎么推廣
  • 建設(shè)網(wǎng)站時(shí)以什么為導(dǎo)向拼多多代運(yùn)營(yíng)公司十大排名
  • 軟件開發(fā)外包服務(wù)公司上海搜索排名優(yōu)化
  • 怎么授權(quán)小說(shuō)做游戲網(wǎng)站如何進(jìn)行網(wǎng)絡(luò)營(yíng)銷推廣
  • 長(zhǎng)沙建立網(wǎng)站seo技術(shù)有哪些
  • 深圳網(wǎng)站建設(shè)迅美市場(chǎng)調(diào)研公司
  • 怎么模板建站杭州百度seo代理
  • 寧波網(wǎng)站建設(shè)公司排名銷售網(wǎng)絡(luò)平臺(tái)
  • 站長(zhǎng)工具網(wǎng)站測(cè)速東莞疫情最新消息通知
  • 青島網(wǎng)絡(luò)推廣建站營(yíng)銷平臺(tái)有哪些
  • 個(gè)人名義做網(wǎng)站百度熱門關(guān)鍵詞排名
  • asp.net實(shí)用網(wǎng)站開發(fā)doc十大免費(fèi)貨源網(wǎng)站免費(fèi)版本
  • 梁山做網(wǎng)站的公司西安seo培訓(xùn)機(jī)構(gòu)
  • php學(xué)建網(wǎng)站搜索引擎優(yōu)化的簡(jiǎn)寫是
  • 海南專業(yè)做網(wǎng)站的公司優(yōu)化網(wǎng)站推廣
  • 凡科網(wǎng)電腦版怎么做網(wǎng)站seo搜索優(yōu)化推廣
  • 網(wǎng)站編程技術(shù) 吉林出版集團(tuán)股份有限公司新東方烹飪學(xué)校學(xué)費(fèi)價(jià)目表
  • 用php做圖書管理網(wǎng)站重慶百度關(guān)鍵詞推廣