Pythonで変数を16進数として宣言する

Jan 12 2021

私は変数を持っています

s=64

この変数は16進数です。しかし、Pythonはそれを10進数と見なします。16進変数として宣言するにはどうすればよいですか?

私は何かを16進数として宣言することを知っています、私たちは使用します

s=0x64

しかし、私は

s=64

どうすればこれについて行くことができますか?

回答

GalBirka Jan 12 2021 at 16:56

6416進数(基数16)の数値は100です。答えを得るには、hex()、int()、str()の組み合わせを使用する必要があります。最初はの10進値でs = 64終わりたいs = 100場合は0x64、次のコードを検討してください。

s = 64
s = int(str(s), 16)

他に何かが必要な場合は、何を明確にしてください。また、hex()、int()、str()を組み合わせて、自分でそれを実現できることに注意してください。

1 J_Zar Jan 12 2021 at 16:55

それはあなたのコード理論や質問に欠けているものだと思います。

1つは価値であり、もう1つはプレゼンテーション(解釈)です。したがって、値は100(10進数)ですが、10進数または16進数(または任意の値)として表示(変換)できます。

>>> s=0x64
>>> s
100
>>> hex(s)
'0x64'
>>> h = int(str(0x64), 16)
>>> h
256

Pythonは整数を小数として格納します(デフォルト)。16進数として機能する数値が必要な場合は、独自のクラスをコーディングして、上記で示した変換ルーチンを使用する必要があります。