ホームページ >バックエンド開発 >PHPチュートリアル >PHP および MySql の 32 ビットおよび 64 ビット シェーピングの範囲は何ですか、mysql32-bit_PHP チュートリアル

PHP および MySql の 32 ビットおよび 64 ビット シェーピングの範囲は何ですか、mysql32-bit_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:58:561066ブラウズ

PHP と MySql、mysql 32 ビットにおける 32 ビットと 64 ビットのシェーピング範囲は何ですか

1 バイトは 8 ビットなので、32 ビット int 型は 32 ビット/8 ビット = 4 バイトを占有し、64 ビット int 型は 64 ビット/8 ビット = 8 バイトを占有します。

32ビット、64ビットの符号なし整数の最大値:

2^64-1 = 18446744073709551615

2^32-1 = 4294967295

32ビット、64ビットの符号付き整数の最大値:

(2^32)/2-1 = 2147483647

(2^64)/2-1 = 9223372036854775807

整数型には0が含まれるためマイナス1。

64 ビット Ubuntu 14.04、PHP_INT_MAX の値は 9223372036854775807 で、これは MySQL の signed bigint 型の最大値と同じです。

32 ビット Ubuntu 14.04 では、PHP_INT_MAX の値は 2147483647 で、これは MySQL の signed int 型の最大値と同じです。

echo date('Y-m-d H:i:s', PHP_INT_MAX) は 2038-01-19 11:14:07 を返します

echo strtotime('2038-01-19 11:14:07'); 2147483647 を返します

echo strtotime('2038-01-19 11:14:08'); 32 ビット モードでは空を返します

言い換えると、32 ビット システム上の PHP の time() は、最大でも 2038-01-19 11:14:07 のタイムスタンプしか返すことができません。

フィールドタイプ: `posted` int(10) unsigned NOT NULL DEFAULT '0'

32 ビット MySQL (64 ビット MySQL にも同じことが当てはまります) で、32 ビット unsigned int 型の最大値 2^32-1 = 4294967295 より大きい数値を挿入すると、エラーが発生します。

UPDATE `punbb`.`pb_topics` SET `posted` = '4294967296' WHERE `pb_topics`.`id` = 1;

警告: #1264 行 1 の「posted」列の値が範囲外です

ただし、MySQL は 8 バイトの bigint 型を使用して 64 ビット整数を格納できます。

データ型

LP64

ILP64

LLP64

ILP32

LP32

文字

8

8

8

8

8

短い

16

16

16

16

16

_int32

該当なし

32

該当なし

該当なし

該当なし

int

32

64

32

32

16

長い

64

64

32

32

32

長い長い

該当なし

該当なし

64

該当なし

該当なし

ポインター

64

64

64

32

32

上記の内容は編集者が紹介した32ビットと64ビットのプラスチック整形範囲であり、皆様のお役に立てれば幸いです。

興味があるかもしれない記事:

  • デュアル ハード ドライブへの独立した 32 ビットと 64 ビットのデュアル システムのインストール
  • VB の 32 ビット プログラムが 64 ビット システムに表示される場合のファイルとレジストリの自動リダイレクトに対する解決策
  • Alibaba Cloud Host Windows 2008 32-bit 64-bitセルフサービス純正アクティベーショングラフィックチュートリアル
  • Visual Studioでシステムの区別に応じた64-bitと32-bitのDLLダイナミックライブラリファイルを引用する設定方法
  • C#で自動アクティベーションを実現32 ビット システムと 64 ビット システムの切り替え SQLite dll ファイル
  • SQL Server 2005 をインストールしています。32 ビット ASP.NET が登録されており、64 ビット ソリューションとして登録する必要があるという警告が表示されます

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1100913.html技術記事 PHP および MySQL における 32 ビットと 64 ビットのシェーピングの範囲は何ですか? type は 64 ビット/8 ビット = 8 バイトを占め、64 ビットはなし...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。