我一直在尋找 sql 基礎知識,我決定寫SELECT ~1;在 postgresql 上,結果它回傳了-2。當我嘗試這個更大的數字時,它總是回傳整數的下一個整數和負數(?300和-301)。我想知道是什么原因。
uj5u.com熱心網友回復:
~顯然是按位否定運算子。1 = 0b00001,~1 = 0b111...110 = -2。
這也稱為個數的補碼。如您所知,這些數字使用二進制補碼作為負數的表示(如 -0 == 0):
-x == ~x 1
~x == -x-1
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/451173.html
標籤:PostgreSQL 整数 波浪号
