我在寻找sql基础知识,我决定在postgresql上写SELECT ~1;
,结果它返回-2
.当我try 这个更大的数字时,它总是返回整数的下一个整数和负数(~300和-301).我想知道原因是什么.
我在寻找sql基础知识,我决定在postgresql上写SELECT ~1;
,结果它返回-2
.当我try 这个更大的数字时,它总是返回整数的下一个整数和负数(~300和-301).我想知道原因是什么.
~
显然是100接线员.1=0b00001,~1=0b111...110 = -2.
这也被称为ones' complement.正如您所知,数字使用two's complement作为负数的表示(当时为-0==0):
-x == ~x+1
~x == -x-1