循環(huán)左移n: (a(N-n))|(an)循環(huán)右移n: (a(N-n))|(an)C語言的位運(yùn)算功能是其區(qū)別于其他大多數(shù)高級程序設(shè)計(jì)語言的特色之一,用它可以方便實(shí)現(xiàn)一些特殊功能,靈活掌握是用C程序編寫系統(tǒng)程序的基礎(chǔ)。
創(chuàng)新互聯(lián)公司始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)10年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的營銷解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:廣告推廣等企業(yè),備受客戶贊許。
1,循環(huán)移位就是將移出的低位放到該數(shù)的高位或者移出高位放到該數(shù)的低位。如:a.00110000,00000000,11010000,00001011 左循環(huán)移動4位 z.10110000,00000000,00000000,00000000 先左移32-4=28位后的結(jié)果。
以1字節(jié)表示)。而00010100循環(huán)右移2位后就是00000101,即10進(jìn)制的5,而5按8進(jìn)制輸出(輸出格式為%o),就是5。00010100循環(huán)左移2位后是01010000,用10進(jìn)制表示就是80,而80按8進(jìn)制輸出(輸出格式為%o),就是120。
P2口 連接8個(gè)LED 低電平驅(qū)動使其發(fā)光。P2=0xfe //上電 P0連接的 LED發(fā)光。 其余的熄滅。
“ (a[PosOut] 8) | 0x00ff”表示先把a(bǔ)數(shù)組中第PosOut位置的數(shù)值按位左移8位,再將得到的結(jié)果和0x00ff做邏輯或操作。
將第一個(gè)比如a[0]用一個(gè)變量保存,然后將后一個(gè)元素的值賦給前一個(gè),最后將保存a[0]的變量的值賦給最后一個(gè)元素,循環(huán) 。
利用位操作:就是左移 就是右移 舉個(gè)例子:將a左移2位,然后賦給a a=2 也即是a=a2 在C語言中左移1位,相當(dāng)于乘2,右移相當(dāng)于除2。
1、將移動完成后保留的最右邊的一位數(shù)添加到最左邊,重新組合成一個(gè)可以用來驅(qū)動數(shù)碼管顯示的八位數(shù)碼。 使用延時(shí)函數(shù)控制數(shù)碼管顯示的時(shí)間間隔。通過不斷重復(fù)以上操作,可以實(shí)現(xiàn)數(shù)碼管的循環(huán)左移效果。
2、用硬件實(shí)驗(yàn),還是用PROTEUS仿真?最好能提供顯示部分的電路圖。
3、你的led燈是共陽的,從你給的條件可以判斷。p1=0xfe,即最低位為‘0’,故點(diǎn)亮的是p0引腳所對應(yīng)的led燈,也就是你所謂的c0。所以你的程序沒有問題啊。
4、輸出了之后,下次再輸入,并不一定是都相同的。輸出的1,再輸入,是1還是0,并不一定。輸出了1,就是設(shè)置成了輸入狀態(tài),輸入進(jìn)來什么,要取決于外設(shè)。要想穩(wěn)定的不變,就應(yīng)該用內(nèi)部的變量,和外設(shè),沒有任何關(guān)系才好。
5、好象是你的R5吧,只送的再你這程序最好放在地址30H后去運(yùn)行,因前那是中斷向量區(qū)。由00H一條轉(zhuǎn)移指令轉(zhuǎn)過去。
6、acc1因該是循環(huán)左移,包括:循環(huán)中不含標(biāo)志位C的左移或右移和循環(huán)中包含C的左移或右移操作。