(4) 將int型變量a的第k位置1, 即a=a|(1<
(5) int型變量循環(huán)左移k次,即a=a<
(6) int型變量a循環(huán)右移k次,即a=a>>k|a<<16-k (設(shè)sizeof(int)=16)(7)整數(shù)的平均值
對于兩個整數(shù)x,y,如果用 (x+y)/2 求平均值,會產(chǎn)生溢出,因為 x+y 可能會大于INT_MAX,但是我們知道它們的平均值是肯定不會溢出的,我們用如下算法:
int average(int x, int y) //返回X,Y 的平均值{
return (x&y)+((x^y)>>1);
}
(8)判斷一個整數(shù)是不是2的冪,對于一個數(shù) x >= 0,判斷他是不是2的冪boolean power2(int x)
{
return ((x&(x-1))==0)&&(x!=0);
}
(9)不用temp交換兩個整數(shù)
void swap(int x , int y)
{
x ^= y;
y ^= x;
x ^= y;
}
(10)計算絕對值
int abs( int x )
{
int y ;
y = x >> 31 ;
return (x^y)-y ; //or: (x+y)^y
}
(11)取模運算轉(zhuǎn)化成位運算 (在不產(chǎn)生溢出的情況下):a % (2^n) 等價于 a & (2^n - 1)(12)乘法運算轉(zhuǎn)化成位運算 (在不產(chǎn)生溢出的情況下):a * (2^n) 等價于 a<< n(13)除法運算轉(zhuǎn)化成位運算 (在不產(chǎn)生溢出的情況下):a / (2^n) 等價于 a>> n例: 12/8 == 12>>3
(14) a % 2 等價于 a & 1
(15) if (x == a) x= b;
else x= a;
等價于 x= a ^ b ^ x;
(16) x 的 相反數(shù)表示為 (~x+1)
(17) 實現(xiàn)最低n位為1,其余位為0的位串信息:~(~0 << n)(18)截取變量x自p位開始的右邊n位的信息:(x >> (1+p-n)) & ~(~0 << n)(19)截取old變量第row位,并將該位信息裝配到變量new的第15-k位:new |= ((old >> row) & 1) << (15 – k)(20)設(shè)s不等于全0,代碼尋找最右邊為1的位的序號j:
for(j = 0; ((1 << j) & s) == 0; j++) ;
容-源-電-子-網(wǎng)-為你提供技術(shù)支持本文地址:http://m.4811775.com/dz/22/15429340782606.shtml
本文標(biāo)簽:
猜你感興趣:
運用單片機(jī)便是了解單片機(jī)硬件結(jié)構(gòu),以及內(nèi)部資源的運用,在匯編或C語言中學(xué)會各種功用的初始化設(shè)置,以及完成各種功用的程序編制。 運用按鈕輸入信號,發(fā)光二極管顯現(xiàn)輸出
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
現(xiàn)場總線技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)控制中,尤其是CAN(Controler Area Nerwork)總線由于具有可靠性高、成本低、容易實現(xiàn)等優(yōu)點,在現(xiàn)場總線實際工程應(yīng)用中占有了較大份額。
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計編程
我的答案是:不可以原因如下:一、軟件仿真多用于教學(xué),把更多精力用在軟件的實現(xiàn)上由于學(xué)生學(xué)習(xí)時間寶貴,焊接一套單片機(jī)實驗板又比較花時間,并且實驗項目太多,所以為了
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
對于新手來說,首先根據(jù)自己學(xué)的什么樣單片機(jī)就選什么類型的單片機(jī),熟悉什么類型的單片機(jī)就選什么類型的單片機(jī)。因為單片機(jī)不僅要設(shè)計電路,還要設(shè)計控制軟件。選自己熟悉的單片機(jī)上手最快,也最容易獲得成功。下面介紹如何選擇最適合的單片機(jī)。
關(guān)鍵詞: 所屬欄目:設(shè)計編程
單片機(jī)晶振的作用是什么
在初學(xué)單片機(jī)的時候,總是伴隨很多有關(guān)于晶振的問題,其實晶振就是如同人的心臟,是血液的脈搏,把單片機(jī)的晶振問題搞明白了,51單片機(jī)的其他問題
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
Keil單片機(jī)編程軟件Keil C51是單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯
關(guān)鍵詞:51單片機(jī)PIC單片機(jī) 所屬欄目:設(shè)計編程
詳解51單片機(jī)運行過程 注:1.ROM:只讀存儲器,單片機(jī)的只讀存儲區(qū)大多用于存儲程序固又稱程序存儲器。51單片機(jī)是EPROM,所謂的EPROM是可擦除的只
關(guān)鍵詞: 所屬欄目:設(shè)計編程
pic單片機(jī)和c51有什么區(qū)別(區(qū)別1)總線結(jié)構(gòu):MCS-51單片機(jī)的總線結(jié)構(gòu)是馮-諾依曼型,計算機(jī)在同一個存儲空間取指令和數(shù)據(jù),兩者不能同時進(jìn)行;而PIC單片機(jī)的總線結(jié)構(gòu)是哈佛結(jié)構(gòu)
關(guān)鍵詞:單片機(jī)PIC單片機(jī)51單片機(jī) 所屬欄目:設(shè)計編程
實例分析51單片機(jī)出現(xiàn)故障及解決辦法。詳細(xì)如下:
故障現(xiàn)象:做了一個單片機(jī)溫度監(jiān)測系統(tǒng),仿真機(jī)上一切正常,燒寫芯片無法工作。相關(guān)電路框圖: 用51做處理器,外圍電路如
關(guān)鍵詞:單片機(jī)51單片機(jī) 所屬欄目:設(shè)計編程
PIC單片機(jī)匯編語言指令詳解
pic單片機(jī)為最常用單片機(jī)之一,許多程序均基于pic單片機(jī)進(jìn)行開發(fā)。因此,熟練pic單片機(jī)編程尤為重要。為保證大家能準(zhǔn)確、熟練掌握pic單片機(jī)的使
關(guān)鍵詞:PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
三種51單片機(jī)程序下載方法介紹
一般只能通過三種方式下載程序到單片機(jī)中:1.JTAG 2.ISP 3.IAP1.JTAG要使用JTAG方式下載程序,不管是使用J-LINK、ULINK、ST-LINK,只需要把
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
I2C每一位信號的時序流程,而I2C通信在字節(jié)級的傳輸中,也有固定的時序要求。I2C通信的起始信號(Start)后,首先要發(fā)送一個從機(jī)的地址,這個地址一共有 7位,緊跟著的第 8
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
越來越多的測量儀器提供GPIB(General Purpose Intefface Bus)總線接口,通過該總線可以方便快捷地連接帶有GPIB接口的儀器及計算機(jī),組成一個GPlB網(wǎng)絡(luò)。GPIB設(shè)備與計算機(jī)連
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
每個單片機(jī)系統(tǒng)里都有晶振,全程是叫晶體震蕩器,在單片機(jī)系統(tǒng)里晶振的作用非常大,他結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所必須的時鐘頻率,單片機(jī)的一切指令的執(zhí)行都是建立
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計編程
引言變頻調(diào)速作為交流電機(jī)調(diào)速的主要手段已經(jīng)在工業(yè)領(lǐng)域中應(yīng)用的十分廣泛,其具有的調(diào)速范圍寬、穩(wěn)速精度高、動態(tài)響應(yīng)快、適用范圍廣、運行可靠等技術(shù)性能,已逐步取代直流
關(guān)鍵詞:單片機(jī)變頻器 所屬欄目:設(shè)計編程
電子密碼鎖按照輸入密碼方式的不同可分為好多種,其中最常用的一種是用數(shù)字鍵盤輸入密碼的電子密碼鎖。這一講主要介紹用ATmega8和LCD1602液晶顯示器等組成的電子密碼鎖,這
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計編程
1.實驗任務(wù)如圖所示,監(jiān)視開關(guān)K1(接在P3.0端口上),用發(fā)光二極管L1(接在單片機(jī)P1.0端口上)顯示開關(guān)狀態(tài),如果開關(guān)合上,L1亮,開關(guān)打開,L1熄滅。2.電路原理圖3.系統(tǒng)
關(guān)鍵詞:單片機(jī)LEDLED電路圖 所屬欄目:設(shè)計編程
近日,有媒體報道稱,北京微電子技術(shù)研究所日前成功研制出國內(nèi)首個自主可控的宇航用千萬門級高性能高可靠FPGA(現(xiàn)場可編程門陣列)芯片。FPGA一直是國內(nèi)的短板,市場基本被
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計編程
怎么學(xué)單片機(jī)?也?吹接腥苏f學(xué)了好幾個月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個人受到的教育水平不同和個人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但我感覺最重的就是學(xué)
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計編程
在單片機(jī)中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)! <特殊功能寄存器地址映象表(一)> <特殊功能寄存器地址映象表(二)> <
關(guān)鍵詞:單片機(jī)寄存器 所屬欄目:設(shè)計編程