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中...