日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

KEIL C51急救

作者:nylyt 欄目:單片機(jī)
KEIL C51急救
小弟用的是KEIL 51 7.09版本,程序大部分完成,但涉及數(shù)學(xué)算法51出錯(cuò),我簡(jiǎn)單測(cè)試
//#include <intrins.h>
void main(void)
{//unsigned int x, y;
signed LONG z;
z=(1000*500);
//x=z/5000;
}仿真觀察Z,為何是0xffffa120,而不是0x0007a120


2樓: >>參與討論
jingwang
re
請(qǐng)查看數(shù)組變量int x的定義


3樓: >>參與討論
hiberhe
z是signed的啦~
 
4樓: >>參與討論
nylyt
不對(duì)
我的別的部分都正確,只為測(cè)試算法另建一工程,變量定以為字節(jié)和字計(jì)算結(jié)果都正確,但定以為LONG計(jì)算不對(duì)

5樓: >>參與討論
taoest
用強(qiáng)制轉(zhuǎn)換
用強(qiáng)制轉(zhuǎn)換:
z=((LONG)1000*(LONG)500);

因?yàn)?a target="_blank" href="http://www.hbjingang.com/stock-ic/1000.html">1000 和500 都是INT ,乘起來也是 INT ,所以賦給Z的時(shí)候就只有INT

6樓: >>參與討論
32768Hz
應(yīng)寫成
z=1000L*500L;

7樓: >>參與討論
nylyt
為什么定義為字節(jié)和字都對(duì)
謝謝32768HZ和TAOEST兩位,我過去常用匯編的第一次用C,不明白為什么定義成字都對(duì)呢?例如X=100*3,X定義為unsigned int類型常數(shù)不用強(qiáng)制轉(zhuǎn)換都正確,但定義成LONG就不對(duì)呢如X=10000*30

8樓: >>參與討論
computer00
看你的計(jì)算結(jié)果是否超出范圍。溢出之后,當(dāng)然就錯(cuò)了。
 
9樓: >>參與討論
nylyt
請(qǐng)解惑
computer00應(yīng)該把上面的帖子看完,不存在溢出問題,而是兩個(gè)常數(shù)相乘如果我把變量定義為長(zhǎng)整型后,乘積也沒溢出,結(jié)果不對(duì)。

10樓: >>參與討論
chenqinyao
re
把 signed LONG z;改為unsigned LONG z;試試看!

11樓: >>參與討論
computer00
一個(gè)int的是16位,如果是無符號(hào)的,則表示最大的數(shù)為65535
而你現(xiàn)在是10000*30=300000>65535,這不是溢出,是什么?
你改成下面的就行了:
X=10000;
X*=30;

或者X=(LONG)10000*30;


* - 本貼最后修改時(shí)間:2005-3-7 18:20:10 修改者:computer00

12樓: >>參與討論
nylyt
LONG 是長(zhǎng)整型沒有溢出
 
13樓: >>參與討論
computer00
但是右邊溢出了
默認(rèn)10000是int型的,而30是CHAR型的,因此在做乘法運(yùn)算時(shí),按int來處理,
結(jié)果就溢出了,在賦值給LONG X之前,就已經(jīng)溢出了。
你還是自己寫個(gè)程序,慢慢看吧,最好反匯編后來看看,它是怎樣處理這兩個(gè)數(shù)相
乘的。

14樓: >>參與討論
mailbert
寫成z=(0x3E8*0x1F4); 行嗎?
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
如何按工業(yè)級(jí)標(biāo)準(zhǔn)設(shè)計(jì)?
怎么讓您發(fā)的帖得到我的猛頂。!
請(qǐng)問如何燒斷51單片機(jī)的IO口﹖為了防止片內(nèi)FLASH被讀出
關(guān)于Keil的絕對(duì)地址偏移問題?
尋求一塊內(nèi)帶LCD驅(qū)動(dòng)的EM單片機(jī)!望前輩們指點(diǎn)指點(diǎn)
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 www.hbjingang.com 浙ICP證030469號(hào)