这个解释说来话长,今天没课,我来大概说下,讲错了大家不要吝啬口水哈。
------------------------------
我们先来看一个整型的正数、负数在内存中是怎么样的。
整型65的二进制为0000 0000 0100 0001,最左边称为最高位,最右变称为最低位。
最高位就是传说中的符号位,为1就说明这是负数,为0就说明这是正数。
------------------------------
经过下面的操作,就变为-65了。
先每位取反,结果为1111 1111 1011 1110。
再加一,结果为1111 1111 1011 1111。
好了,1111 1111 1011 1111就是-65在内存中的样子。
------------------------------
我们来看字符型转换为整型。
字符型65为
0100 0001
转换到-65为
1011 1111
整型65为
0000 0000 0100 0001
转换到-65为
1111 1111 1011 1111
可见,字符型为负数时,转换成整型,不难发现一个规律,那就是高8位全部是1,就是你说的“高8位全补1”,低8位数据和字符型中的数据相同。
悬赏0分……就当签到了。
[
本帖最后由 dreamofgod 于 2011-9-6 09:42 编辑 ]