Python で 32 ビット整数と 64 ビット整数を区別したい。int_64
C では、 andを使用して変数を宣言できるため、非常に簡単int_32
です。しかし、Python では、32 ビット整数と 64 ビット整数をどのように区別するのでしょうか?
質問する
5534 次
4 に答える
7
必要がない。インタープリターはバックグラウンドで割り当てを処理し、明示的に何もしなくても、必要に応じてある型から別の型に効果的に昇格します。
于 2012-12-29T07:20:23.097 に答える
5
基本的に、あなたはしません。する理由はありません。既知のビット サイズの型を処理する場合は、numpy
データ型を参照してください。
データを指定された形式に入れたい場合は、構造体モジュールを見てください。
于 2012-12-29T07:21:18.213 に答える
5
他のstruct
回答で言及されているモジュールは、必要なものです。
それを明確にするための例。
import struct
struct.pack('qii', # Format string here.
100, # Your 64-bit integer
50, # Your first 32-bit integer
25) # Your second 32-bit integer
# This will return the following:
'd\x00\x00\x00\x00\x00\x00\x002\x00\x00\x00\x19\x00\x00\x00'
フォーマット文字列のドキュメント。
于 2012-12-29T11:55:52.467 に答える
1
次の ipython インタープリター セッションのスニペットは、整数の型をテストする 1 つの方法を示しています。私のシステムでは、 anint
は 64 ビット データ型であり、 along
はマルチワード型であることに注意してください。
In [190]: isinstance(1,int)
Out[190]: True
In [191]: isinstance(1,long)
Out[191]: False
In [192]: isinstance(1L,long)
Out[192]: True
についての回答も参照してくださいsys.getsizeof
。いくつかの追加のオーバーヘッド バイトが含まれているため、この関数は完全に関連しているわけではありません。例えば:
In [194]: import sys
In [195]: sys.getsizeof(1)
Out[195]: 24
In [196]: sys.getsizeof(1L)
Out[196]: 28
于 2012-12-29T08:08:05.010 に答える