0x80(轉)


0x是C語言中16進制數的表示方法。
0x80等於十進制的128
字符在計算機中以其ASCII碼方式表示, 其長度為1個字節, 有符號字符型數
取值范圍為-128~127, 無符號字符型數到值范圍是0~255。因此在Turbo C語言中,
字符型數據在操作時將按整型數處理, 如果某個變量定義成char, 則表明該變量
是有符號的, 即它將轉換成有符號的整型數。
Turbo C中規定對ASCII碼值大於0x80的字符將被認為是負數。例如ASCII 值
為0x8c的字符, 定義成char時, 被轉換成十六進制的整數0xff8c 。 這是因當
ASCII碼值大於0x80時, 該字節的最高位為1, 計算機會認為該數為負數, 對於
0x8c表示的數實際上是-74(8c的各位取反再加1), 而-74 轉換成兩字節整型數並
在計算機中表示時就是0xff8c( 對0074 各位取反再加1) 。 因此只有定義為
unsigned char 0x8c轉換成整型數時才是8c。這一點在處理大於0x80的ASCII碼
字符時(例如漢字碼)要特別注意。一般漢字均定義為unsigned char

 

轉自:http://blog.sina.com.cn/s/blog_52543ad50100ak0j.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM