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


Browsing this Thread:   1 Anonymous Users






Re: 請問C編譯器是否會將 char 預設視為 unsigned char
#5
版主
版主


查看用戶資訊
我使建議 char 就是 signed char,這一般的定義大家都看的懂,如果將 char 定為 unsigned char 的話,真的會讓別人誤會資料的型態。

如果要省打字的話,可以用自訂型別 typedef 去定義你的資料型態名稱這樣會幾較容易攜帶與解讀的。

如:

typedef unsigned char Byte;
typedef unsigned int Word;

發表於: 2008/12/25 10:16
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問C編譯器是否會將 char 預設視為 unsigned char
#4
資深會員
資深會員


查看用戶資訊
多謝 biko 大解惑,真是觀察入微啊,
我現在就是在用 Hi-tech PICC18,
而 Hi-tech 能預設 char 為 unsigned char 真是太好了,
感謝。

發表於: 2008/12/25 9:27
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問C編譯器是否會將 char 預設視為 unsigned char
#3
資深會員
資深會員


查看用戶資訊
正確答案應該要去看Compiler的手冊,因為Hitech PICC18預設的char就是unsigned char ,這是沒錯的,因為我有確認過,而且MPLAB裡也有這個選項(預設是不選取的)。

因為這個例子,所以我如果要真正用到有正負號的char的話,都會加上signed char,這是最保險的。

另外建議還是要做正確的宣告,一來可以防止程式在移植時(使用不同的compiler時)出問題,再來,也可以方便其他人看懂您的程式。
縮圖

Attach file:



jpg  (0.00 KB)


發表於: 2008/12/25 0:22
我相信解決問題的方法不只一種,所以我在回答同好的問題時或者提出與主題不同的方案,
請不要以此做為攻擊的目標,畢竟我也只是想和大家討論如何解決問題而已…
解決問題最重要,.....
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問C編譯器是否會將 char 預設視為 unsigned char
#2
初級會員
初級會員


查看用戶資訊
不會。
char = 127 ~ 0 ~ -126

發表於: 2008/12/24 22:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請問C編譯器是否會將 char 預設視為 unsigned char
#1
資深會員
資深會員


查看用戶資訊
有個函數宣告如下:
void FUN(char NUM){
敘述.....
}

而傳入 NUM 的都是整數,
請問一些常用的C編譯器例如:C18、Hi-Tech CCS 等,
是否會將 char NUM 視為 unsigned char NUM 連編譯呢?
如果是的話,這樣就可以寫短一點了,
謝謝。

發表於: 2008/12/23 16:14
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... ]

教育訓練中心

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