关于位运算符,因为第32位表示符号,实际表示数值的就只有31位了。也就是只能表达1+2+4+.....
+1073741824,也就是2147483647。而负数是通过补码来表示的。
那么问题是:-2147483648要表示出来的话,就得先确定它非负的二进制表示,也就是
10000000000000000000000000000000
可是第32为不是不能访问的么。那么-2147483648是怎么表示出来的呢。
求高人释疑。
+1073741824,也就是2147483647。而负数是通过补码来表示的。
那么问题是:-2147483648要表示出来的话,就得先确定它非负的二进制表示,也就是
10000000000000000000000000000000
可是第32为不是不能访问的么。那么-2147483648是怎么表示出来的呢。
求高人释疑。
貌似是取反加一
参考:http://hi.baidu.com/deep_pro/blog/item/87810154c5152250d0090663.html
http://hi.baidu.com/sbit/blog/item/78d028893ec251b10f2444d7.html