• slider image 442
  • slider image 492
  • slider image 493
  • slider image 494
  • slider image 495
  • slider image 496
:::


Browsing this Thread:   1 Anonymous Users






Re: 變數問題
#7
中級會員
中級會員


查看用戶資訊
你是對的!

要使用32位元整數型態變數時,
宣告為 long int aaa;
或 long aaa;
---------------------------------------------------------------------

不過當你使用 C30 當作你的程式語言工具,
且希望計算結果值為32位元資料型態時,
要注意一個.................小地方。

(例)
int a1, a2;
long aaa;

a1 = 1000;
a2 = 2000;
aaa = a1 * a2; // 正確結果應為2000000, 但會得錯誤值

*******************************************
(修改為可得正確計算值)

int a1, a2;
long aaa;

a1 = 1000;
a2 = 2000;
aaa = a1;
aaa = aaa * a2;

(這樣就可以得到正確的計算值了)
--------------------------------------------------------------------

在 (例) 中會得錯誤結果, 而修改的可得正確結果...
追究它的差別

可能因為 aaa (32位元) = a1(16位元) * a2(16位元);
(右方計算式中無 32位元型態 的資料存在)

而修改的 aaa (32位元) = aaa(32位元) * a2(16位元);
(右方計算式中有 32位元型態 的資料存在)

*****************************************
所以, 建議你計算結果要存於 32位元變數時,
要注意右方用於計算的變數, 是否有32位元的變數存在,
如果沒有, 那你可能就需要對計算式作點調整了...

以上供你參考!


發表於: 2007/10/24 14:22
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 變數問題
#6
版主
版主


查看用戶資訊
先問一下,你用何種方式來看變數的值?

發表於: 2007/10/24 14:17
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 變數問題
#5
中級會員
中級會員


查看用戶資訊
那我要用32位元變數
設定成
long aaa ;
那aaa應該就是32位元的變數對吧

發表於: 2007/10/23 15:40
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 變數問題
#4
版主
版主


查看用戶資訊
因該是在 watch window 對變數的設定有誤,先點選變數名稱再到內容選項選擇32-bit顯示。

發表於: 2007/10/23 15:13
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 變數問題
#3
中級會員
中級會員


查看用戶資訊
就是我這個變數的數值是超過16位元的 所以我設定long
但我看他的數據卻還是沒有辦法超過16位元 超過就不是我要的數據了 有時候是正的卻跑出負的

發表於: 2007/10/23 15:00
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 變數問題
#2
版主
版主


查看用戶資訊
不知道妳所要問的問題為何? 是不是強迫型別轉換出了問題以致於你看不到 long 的格式。

發表於: 2007/10/23 13:59
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


變數問題
#1
中級會員
中級會員


查看用戶資訊
請問一下我要設定32位元的變數(dsPID30F4011)
"long"是跟16位元以下的變數一樣的設定方法嗎??
還是要另外不一樣的設定

我設定成
long aaa ;
但他aaa只要超過16位元的數值就錯誤 那該怎麼辦

發表於: 2007/10/23 11:59
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------