Dans redis ,
La plage de valeurs prise en charge par HINCRBY est limitée à des entiers signés 64 bits.
Et j'aimerais savoir quelle taille peut être cet entier signé 64 bits.
Cet article est bon pour plus d'informations sur ce sujet: http://en.wikipedia.org/wiki/Integer_ (computer_science)
La réponse à la question doit donc être: de -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807, ou de - (2 ^ 63) à 2 ^ 63 - 1
Le nombre positif le plus élevé stocké dans un entier signé est représenté binaire comme
----- 63 unités -----
0111111111111111111111111111111111111111111111111111111111111111
Si vous réfléchissez bien, vous pouvez découvrir que ce nombre est exactement 2 ^ 63 - 1.
Un entier signé varie de la taille −2 ^ (n − 1) à 2 ^ (n − 1) - 1, dans ce cas, la valeur maximale serait 2 ^ 63-1 ou 9 223 372 036 854 775 807.
Formula
2^(n-1) is the formula of the maximum value of a Bigint data type.
In the preceding formula N is the size of the data type. The ^ operator calculates the power of the value.
Now determine the value of N in Bit:
Select (max_length * 8) as 'Bit(s)' from sys.types Where name = 'BIGInt'
=64 Bits
Gamme :: -9223372036854775808 à 9223372036854775807