私は、フォーマットされた符号なし32ビット整数を表すPHPの文字列をデータソースから取得しています。 がの32ビット整数であることをMySQLデータベースに保存する必要があります。後でPHPから取得して(負の)符号付き整数定数として使用することができます(PHPは符号なし整数)。署名されていない署名からMySQLまたはPHPで署名された32ビット整数をキャストする方法はありますか?
私が必要とするのは、PHPまたはMySQLのいずれかの変換方法です。プラットフォームに依存しないでください(エンディアン/ 32/64ビットの問題なし)。
私は、MySQLを使用して符号なしに符号付き整数に変換する方法を知っている:
select CAST((-1062726980 & 0xFFFFFFFF) AS UNSIGNED INTEGER);
+------------------------------------------------------+
| CAST((-1062726980 & 0xFFFFFFFF) AS UNSIGNED INTEGER) |
+------------------------------------------------------+
| 3232240316 |
+------------------------------------------------------+
しかし、私はそれが(注意:キャストを行う際、MySQLは64ビット演算を使用しています)の周りに他の方法で動作し得ることができません。
ありがとうございました。
申し訳ありませんが、64ビットシステムでは動作しません.64ビットシステムでは、デフォルトで64ビットのPHPが使用されます。 – Alex