|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
PICC中為什么兩數(shù)相乘結(jié)果不對 |
| 作者:愛科 欄目:單片機 |
............... unsigned LONG a; unsigned LONG b; unsigned LONG c; void main( void ) { Init_System(); a=200; b=198; c=a*b; while(1) { Line_1(); printf("a*b="); printf("%d",a); printf("*"); printf("%d",b); Line_2(); printf("%d",c); } } 上述功能中a*b應(yīng)為39600,但運行結(jié)果為-25936 這是為何? PICC能否一直算下去? |
| 2樓: | >>參與討論 |
| 作者: 張明峰 于 2003/10/26 17:25:00 發(fā)布:
難道老師沒有教? "%d"打印的是帶符號整形數(shù),如果要打印無符號整形數(shù),必須用"%u" |
|
| 3樓: | >>參與討論 |
| 作者: 愛科 于 2003/10/26 18:00:00 發(fā)布:
謝謝張工 %d是本人搞錯了,改為%u后,但數(shù)據(jù)大一些后,還是不能正確運行(沒有溢出) 這是怎么回事? |
|
| 4樓: | >>參與討論 |
| 作者: 張明峰 于 2003/10/26 20:18:00 發(fā)布:
完了,看來你要完了 printf("%d",a); 先不管是"%d"還是"%u",都是針對整形數(shù)的,但你的變量abc都是長整形。知不知道變量類型不匹配? 打印unsigned LONG型的變量要用"%lu"。鬧了半天連基本的C語法還沒有掌握,建議先把普通的C學(xué)學(xué)好再來吧,PICC再好也不經(jīng)你這樣折騰。 |
|
| 5樓: | >>參與討論 |
| 作者: 愛科 于 2003/10/27 8:55:00 發(fā)布:
謝謝張工啊 莫笑話啊,張工 以后還要多向您學(xué)習(xí)學(xué)習(xí)哦 |
|
| 6樓: | >>參與討論 |
| 作者: 張明峰 于 2003/10/27 15:55:00 發(fā)布:
說笑歸說笑 :-) 但你的這個問題典型地放映了現(xiàn)在年輕人的一種學(xué)習(xí)態(tài)度。不管是什么問題,上來就質(zhì)疑或質(zhì)問別人的毛病,從來不愿意自己先審視一下自己可能犯的錯誤。 初生牛犢不怕虎,不是因為它勇敢,而是因為它不知。對吧? |
|
| 7樓: | >>參與討論 |
| 作者: HotPower 于 2003/10/29 0:35:00 發(fā)布:
這才是人們心中的教主 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |