正數的補碼是本身自己ui
負數的補碼是,先取反碼(首尾不反),而後+1blog
2. 在Go語言中im
^0表示對0取反db
咱們假如是4位表明一個數字的話,最高位是符號位img
0在計算機中用補碼的形式存在是 : 0000計算機
取反獲得 :1111 (是-1在計算機中以補碼的形式存在,因此^0 就是 -1)語言
因此 ^1 就是 1110 就是 -2co
3. Go語言的最大值數字
a. 若是是一個無符號的數字ps
那麼最大值就是 1111
那麼就是 ^uint8(0) ,^uint16(0) ^uint32(0) ^uint64(0)
b. 若是是一個有符號的數數字
那麼最大值就是 0111
那麼就是 0000 取反 1111 後移一位 0111
那麼就是 int8(^uint8(0) >> 1) int16(^uint16(0) >>1 )