引用第1楼beggaren于2007-04-01 19:30发表的:很显然,带符号数移位不移动符号位的
引用第3楼beggaren于2007-04-01 19:48发表的:你迷糊啦,仔细想想就想通了.
引用第5楼kangtalc于2007-04-01 21:04发表的:字符型变量一般是用一个字节来存储,共8位,在内存中是以2进制来存储,字符都被赋予ascii码值,好像是从0-255,0xb9的意思是这是一个字节,共8位,以每4位用一个16进制的数表示,比如0xb9就是2进制的10111001,你看前4位1011是不是16进制的b,后4位1001是16进制的9,同样的,0x83也是一个字节,2进制为10000011,0x0f表示00001111,因为一个字符变量也是一个字节长度,以2进制存储共8位,所以一个字符型的变量可以赋为0xb9等值,比如你有一个字符型的变量char ch = 'A',它是用ascii码值65存储在内存中的,用2进制就为01000001,换成16进制(记住,每四位用一个16进制数表示)那就是0x41懂了吧?另外,负数在内存中是以补码表示的数字向左移一位表示乘以2,向右移一位表示除以2