??プログラマの世界では、すべてがバイナリです。
?? 多くの人は、整数の最大値は 2^32 -1 だと言います。は本当です 間違っています。整数は 4 バイトを占め、各バイトが 8 ビットであるとします。 整数 3 は次のように表現できます。
観察の便宜上、ここでは 8 ビットが分離されています。本当の意味では、それは連続しています。
00000000 00000000 00000000 00000011
SUM = 2^0 + 2^1 = 3
では、正の数と負の数をどのように表現するのでしょうか?規定によれば、符号付き整数の場合、32 ビット目は正の場合は 0、負の場合は 1 となります
したがって、-1 は次のように表されます
10000000 00000000 00000000 00000011
最大の正の整数は次のように表すことができます
01111111 11111111 11111111 11111111
SUM = 2^0 + 2^1 + 2^2... > 式を確認してください:
Sn = (1-q^n)/(1-q)
前の式から、公比は 2 で、項は 31 個あることがわかります。
Sn = 2^31 - 1
符号付き整数の最大値は 2^31 - 1 = 2147483647
最小値は -2147483648 であることを覚えておいてください。研究に興味がある場合は、検索できます。百度でね。
IPアドレスの計算
011111111 000000000000000001
IP は [00000000, 11111111111111111111, 255] でのみ計算できます
開発中のアプリケーション
🎜>
<?php $ip = '192.168.104.120'; var_dump($ip); $ip = ip2long($ip); var_dump($ip); $ip = long2ip($ip); var_dump($ip)?>
2. SQL クエリでは、文字列よりも数値の効率が高くなります。
他にもたくさんありますので、他の学生が追加してくれることを楽しみにしています。