int
на самом деле является значением со знаком в SQL. Диапазон значений от -2^31
до 2^31 - 1
, то есть от -2,147,483,648
до 2,147,483,647
. В этом диапазоне имеется ровно 2^32
возможных значений. Обратите внимание, что он включает 0
.
Целое число без знака может находиться в диапазоне от 0
до 2^32-1
, то есть до 4,294,967,295
. - 1
s вызваны тем, что 0
включен в диапазон, поэтому подсчет начинается с 0
, а не 1
.
Диапазон возможных значений легко увидеть с меньшим количеством бит. Например, 3 бита могут представлять значения от -4 до 3:
Bits Unisgned Signed
000 0 0
001 1 1
010 2 2
011 3 3
100 4 -4
101 5 -3
110 6 -2
111 7 -1