急求用c8051微控制器組合語言編寫程式實現判斷

2021-12-23 21:28:56 字數 3678 閱讀 1688

1樓:匿名使用者

假如你要判斷的數在r0裡面,將它與2相除,shuwei是奇偶判斷位,自己可以隨意定義在哪

shuwei bit 20h.1

mov a,r0

mov b,#2

div ab

cjne b,#00h,jishu

clr shuwei

jishu:setb shuwei

shuwei為0則為偶數

為1則為奇數

2樓:匿名使用者

如果acc.0=1則是奇數,如果acc.0=0就是偶數。

3樓:

根據奇數,偶數的特點:能被2整除的數位偶數,對這句話的理解是如果此數是偶數則相除的結果(餘數)為零。根據這個特點,我們利用8051彙編指令中判零指令來做就知道輸入的數是偶數還是奇數了!

以下是針對輸入的數在0~255範圍內有效!

…… ;其他程式

mov a,#shu

mov b,#2

div ab

jz it_is_oushu

it_is_jishu

……it_is_oushu

……end

這是基本思路!

希望能幫上你…………

4樓:做而論道

判斷出來怎麼辦?

-----------------------jb acc.0, ji

ou: ……

……ji: …………

用c語言程式設計:輸入一個整數,判斷這個數是奇數還是偶數。 請大家幫忙啊。

5樓:繾綣

#include

int main()

6樓:會自暴的甲兒

if(x%2==0)

else

用c語言程式設計:輸入一個整數,判斷這個數是奇數還是偶數。

判斷一個數是奇數還是偶數用c程式怎麼編寫

7樓:墨汁諾

一個表示式就bai行了:i % 2。對2求餘,如果du結果等zhi於1,則i是奇數dao,如果結果等於0,則i是偶數。專if((i%2)==1)

else

例如:#include

main()

else}

8樓:織毛衣的手手

#include

main()

else}

9樓:啦啦啦啦崔小淨

一個表示式就行了:i % 2。對2求餘,如果結果等於1,則i是奇數,如果結果等於0,則i是偶數。

if((i%2)==1)

else

10樓:ying雙子

方法有很多

舉幾個常用的:

1 if(a%2==0) 表示偶數。 如果為1則是奇數2 if(a&1) 表示奇數, 如果a&1==0 則是偶數3 if(a/2*2 ==a) 表示偶數。 不相等則是奇數。

11樓:匿名使用者

int k = 20;

int result = 20%2; // 對2求餘。如果result=0就是偶數,為1就是奇數。

12樓:匿名使用者

#include

int main(void)

13樓:灬愚昧灬

#include

void main ()

14樓:匿名使用者

#include

main()

{int a;

scanf("%d",&a);

if(a/2==0)

printf(a+"是偶數");

else

printf(a+"是奇數");

15樓:匿名使用者

int n ;

if (n%2)

else

c語言中判斷一個輸入的數為偶數還是奇數的程式怎麼編寫

16樓:小小歐平兒

1、開啟一個虛擬機器,開啟終端(ctrl+alt+t),然後用vi新建並進入編輯一個c檔案(vi a.c)。

2、按「i」進入輸入模式,開始編寫程式,因為linux下輸入中文還要進行其他設定,所以是在notepad++下編輯的。

3、先定義一個整數a。

4、判斷a是否能被2整除,即a對2取餘是否為0,為0則此數為偶數,反之為奇數。

5、編寫完c程式後,儲存c檔案,然後進行gcc編譯。

6、編譯通過後,執行程式(「./+檔案」),驗證執行結果是否有錯。

17樓:風若遠去何人留

一、數學定義:

在數學中,定義凡是可以被2整除的,均為偶數。 反之則為奇數。

二、演算法分析:

根據數學定義,以及一些c語言的知識,可以得到很多種判斷一個整數的奇偶性的方法,舉例如下:

1、 最常用最直觀的方法。

對2取餘,如果為0,表示整除,即為偶數。否則為奇數。

即 n%2==0  則為偶數。 n%2==1 則為奇數。

由於c語言規定邏輯運算中0為假,1為真,於是判斷奇偶可以簡化為

if(n%2) printf("n為奇數\n");

else printf("n為偶數\n");

2、效率最高的方法。

計算機中都是二進位制儲存,這樣判斷奇偶其實判斷二進位制的最後一位即可。所以可以用更高效的位操作來判斷:

if(n&1) printf("n為奇數\n");

else printf("n為偶數\n");

3、其它方法:

根據各種數學推論,以及c語言操作,還有很多其它方法,不過都不常用,僅做了解,舉幾個例子如下:

n/2*2==n //利用整數除法取整的規則,如果相等,則為偶數。

((n>>1)<<1)==n //右移後再左移,如果與原值相等,則為偶數。

(n+1)/2 == n/2 //同樣利用整數除法取整,相等則為偶數。

類似的還可以寫出很多,不過意義並不大,因為不常用,且不高效,實際使用只會增加執行開銷和維護難度。

18樓:鬼火狼煙

效率最高的辦法是只需要判斷(num&1)是否為0就可以了,如果是0就是偶數,如果不是0就是奇數

19樓:湛藍水晶

返回0為偶數,返回非0為奇數

int od(int num)

20樓:匿名使用者

main()

21樓:匿名使用者

main()

22樓:沒有感覺真要命

上面的程式:應該是

if(i%2==0)

23樓:俠客搗

void main()

24樓:匿名使用者

用取摸……

int i;

scanf("input i %d",&i);

if (i%2==0 )

else

……vb用多了~!

微控制器組合語言填空,微控制器組合語言作業

delay mov r3,20 設定50ms計數迴圈初值 mov tmod,10h 設定時器1方式1mov th1,03ch 置定時器初值mov tl1,0b0h setb tr1 啟動t1lp1 jbc tf1 lp2 查詢計數溢位sjmp lp1 lp2 mov th1,03ch 重新制定時器初...

微控制器彙編程式,微控制器(組合語言)程式

這個是外部擴充套件的ram,fef0h是存資料的地址,mov dptr 0fef0h是給資料指標賦值,movx dptr,a是間接定址,將a中資料送到外部ram的fef0h中,中斷服務程式後面應該有reti,挺容易的,看看書,這例題允許了中斷,給出了中斷處理程式,自己看書學得較為深刻。ofefoh指...

關於微控制器組合語言開頭幾句

0100h的意思是將start 標號後面的指令地址放到100h這個地方,這是說給編譯器聽的.ljmp start 之後的地址到9fh都給別人用.0100意思就是從下面那句話開始,到再次出現 偽 的語句之前的程式全放在從0100h這個地址開始的程式段內。0100h表示主程式的起始地址。前面的類似pc中...