2017年9月6日水曜日

16進数表記でマイナス?

内部の値をチェックしようとprintさせてみると奇妙な表示になってしまい気になりました。

9790 -2940 0BD0 1C75 -08E

表示方法はprint "{0:04X}".format(i)とかそんな感じです。



他に表示方法はないかと調べてみるとhex()でうまく表示できるみたいなので
print "{0:04X}".format(hex(i))
とやってみるとエラーが。
X変換は文字列から表示されるようで、hex(i)が文字列ではないとエラーになってしまいました。

0x9790 -0x2940 0xbd0 0x1c75 -0x8e -0x7

print hex(i)で単純に表示されるんですね。
いや、でもマイナス符号が…


いままでpythoはver3だと思っていたのですが、
pi@rasp3b:~ $ python -V
Python 2.7.9
pi@rasp3b:~ $ python3 -V
Python 3.4.2
違っていたようです…
確かにprintで"()"をつけなくてもエラーにならないと違和感がありましたが(笑)

0 件のコメント:

コメントを投稿