关于取反~的运算

今天看到一个东西

SELECT ~32767

-----------
-32768

按位反的话为什么结果为什么不是-520而是-521呢?

然后我又看了看,才想起在二进制的世界里,第一个数位是表示正负数,所以在smallint 的2字节里面,是这样纸的

32767

0111 1111 1111 1111

所以当取反的时候就是

-32768

10 0000 0000 0000

 

有时候就是转不过弯,不确定的时候还是要动手看下才能巩固自己的只是

 

posted on 2016-01-07 18:17  神崎橙  阅读(218)  评论(0编辑  收藏  举报

导航