当前位置: 代码迷 >> C语言 >> [#!@#$#%求 助!!@#@$$%]
  详细解决方案

[#!@#$#%求 助!!@#@$$%]

热度:391   发布时间:2005-07-05 16:46:00.0
[#!@#$#%求 助!!@#@$$%]
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(在以后的程
序中会经常碰到)。
----------------解决方案--------------------------------------------------------
谁能解译一下呀!!!
----------------解决方案--------------------------------------------------------
  相关解决方案