• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: DSPIC算式問題
#10
版主
版主


查看用戶資訊
我想是你使用錯的格式看變數。不管是有號數及無號數值皆以 16 進制值顯示。你必須在 Watch Window 底下選擇所要看的變數的種類。你可以將要觀i測的有號數變數選成 Decimal 並將旁邊的 Signed 選項打勾後就可以看到正確的有號數顯示方式。

發表於: 2007/10/5 16:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: DSPIC算式問題
#9
資深會員
資深會員


查看用戶資訊
參照:

kobe1202 寫到:
我用有號數好無號數用出來ㄉ0x8000都一樣是顯示0x8000ㄋ <<< 錯別字嚴重,讓人看的一頭霧水




感覺您還是沒弄懂2進制有號數的加減法是怎麼運算的

可以下載這幾個檔案
http://www.cis.nctu.edu.tw/~gis91572/ ... ircuit_YP/chap01_2006.ppt

http://www.ccmtc.edu.tw/know/upload/521-1.ppt

先把2進制觀念搞懂了之後,寫程式就沒什麼問題了


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


Re: DSPIC算式問題
#8
資深會員
資深會員


查看用戶資訊
把最高位元當成正負號旗標,十進制數值範圍:-32768~0~+32767計算不要超出範圍就不會有問題了。

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


Re: DSPIC算式問題
#7
中級會員
中級會員


查看用戶資訊
我用有號數好無號數用出來ㄉ0x8000都一樣是顯示0x8000ㄋ
事簿是我ㄉ哪裡設定錯
有號數我是設定 int
無號是我是設定 unsigned int

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


Re: DSPIC算式問題
#6
版主
版主


查看用戶資訊
當你把變數宣告成 Signed 後,C 就會以有號數的方式進行處理或運算,所看到的結果也會是有號數。
 你可能還是不清楚有號數的表示方式,問你一下0x8000在有號數裡代表的直是多少? 要是無號數時噢是多少?那 0x8001 呢?

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


Re: DSPIC算式問題
#5
中級會員
中級會員


查看用戶資訊
列如:
C = A - B
x=C*2
y=C*3
z=C*10
q=x+y+z
w += q
在C=正時都對
但C=負時,就會變補數去計算
但算出來q並不是用負ㄉ去算還是用正ㄉ去算ㄋ
正常來說 如果c=負ㄉ 那我ㄉq應該要變負ㄉ
但w就便減qㄌ 但他還是加上補數ㄉq 那該怎ㄇ半
誰能教我 負ㄉ要怎ㄇ做 我用c寫ㄉ[quote]

發表於: 2007/9/27 11:51
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: DSPIC算式問題
#4
版主
版主


查看用戶資訊
沒錯的,在電腦的世界裡負數是以2's 方式表示的,執行減法時實際是採用 2'S 的加法用算。
-1 的值是你所看的懂的,實際會成 0xFFFF,-2 為 0xFFFE。這是對的。只是你比較少接觸會覺得怪怪的。在強調一次 它所呈現的值並沒有錯。

發表於: 2007/9/21 11:49
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: DSPIC算式問題
#3
中級會員
中級會員


查看用戶資訊
我是用C寫ㄉㄚ.但他負ㄉㄝ是表示成補數阿.並沒有負數ㄋ
我故意用一個暫存器設定-1.他出來ㄝ是0xFFFEㄋ.這樣我後面ㄉ計算就錯誤ㄌ

發表於: 2007/9/20 15:48
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: DSPIC算式問題
#2
版主
版主


查看用戶資訊
dsPIC 在乘法及除法指令都有支援有號數的計算,唯獨加法與減法指令沒有支援有號數計算,所以在做有號數加、減法時必須單獨區判斷N旗號來決定要做何種算式。
用 C 寫就沒有這些困擾,考慮看看用C30來寫。

發表於: 2007/9/20 14:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


DSPIC算式問題
#1
中級會員
中級會員


查看用戶資訊
請問一下我2各數相減.有正或負
我用ㄉ暫存器是可以正負的.但我發現他的值若是負ㄉ
它還是惠是正ㄉ.只是取補數.請問有辦法讓他算出來如果是負ㄉ
就存成負的值嗎?? 像如果是"-1"用16位元ㄉ暫存器會存成0xfffe 這樣沒辦法辨識是正還是負.我再來ㄉ運算就出問題ㄌ

發表於: 2007/9/20 12:06
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... ]

教育訓練中心

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