关闭

0x80 的具体解释

标签: 语言c
2957人阅读 评论(0) 收藏 举报
分类:
0x是C语言中16进制数的表示方法。

0x80等于十进制的128

0x80在计算机内部表示为1000 0000

字符在计算机中以其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
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:352585次
    • 积分:3428
    • 等级:
    • 排名:第9717名
    • 原创:85篇
    • 转载:9篇
    • 译文:0篇
    • 评论:100条
    博主信息
    山东大学计算机硕士,专注机器学习、计算机视觉、模式识别等开发与研究。新浪微博:哈尔王储。微信订阅号:哈尔学ML
    最新评论