16進数を10進数に書き換える単純なスクリプトをPythonで書いています。32ビットの符号付きに対応しています。cmdのpythonは負の値を出力しません
data = [data.rstrip('\n') for data in open('dlzkyHEAD.txt')]
for value in data:
print(value, end=' -> ')
x= int(value,16)
print(x) if x<2**31 else x-2**32
すべてが働いていたPythonシェルでの作業中に、しかし、私は一つのファイルにそれらを書き、それが負の値を印刷する習慣cmdをウィンドウ内で実行。
Pythonシェル出力:
8049008 -> 134516744
80490c0 -> 134516928
80490d0 -> 134516944
80490d8 -> 134516952
8049d84 -> 134520196
8049d88 -> 134520200
8049da4 -> 134520228
c -> 12
ffffefe8 -> -4120
ffffffe0 -> -32
ffffffe4 -> -28
ffffffe8 -> -24
ffffffec -> -20
fffffff0 -> -16
fffffff4 -> -12
fffffffc -> -4
CMD出力:我々(@ cricket_007のおかげで、コメントで指摘したよう
8049d88 -> 134520200
8049da4 -> 134520228
c -> 12
ffffefe8 -> ffffffe0 -> ffffffe4 -> ffffffe8 -> ffffffec -> fffffff0 -> fffffff4 -> fffffffc ->
どのようにそれを実行していますか?あなたは「Windowsで実行されたcmd」という意味ですか?これは、 "pythonシェルでの作業"とは対照的に、 –
です。これは次のような意味です: C:¥Users¥User_Name¥AppData¥Local¥Programs¥Python¥Python36-32¥python.exe script.py – KnucklePunch
'print(x x <2 ** 31 else else-2 ** 32) '? –