Pythonとして計算された次のファイルがあります。
1.00000100e+07
1.00000000e+04
1.11000111e+08
1.11000000e+05
さて、次のようなものを手に入れたいです。
010000010
000010000
111000111
000111000
私の考えは、0を追加して9ビットの固定形式を取得することです。私が書いたPythonコードはバイナリを提供しますが、追加のデコードには9桁のバイナリが必要です。 Pythonで必要な形式にインポートしようとしますが、そうすることはできません。
私の説明が明確であることを願っています。
アップデート:
Pythonコード:
#!/usr/bin/env python3
import numpy as np
from numpy import genfromtxt
import os
day = os.environ.get('day')
Array = genfromtxt("SUC_diffzeros_"+str(day)+".csv")
final = np.zeros(len(Array))
def decimaltobinary(x):
for i in range(len(x)):
print(x[i])
final[i] = "{0:09b}".format(x[i])
print(final)
var = np.column_stack([Array, final])
np.savetxt("SUC_diffzeros_"+str(day)+".csv", var, fmt='%.8e')
if __name__ == '__main__':
val = Array.astype(int)
decimaltobinary(val)
ベストアンサー1
$ awk '{printf "%09.15g\n", $0}' < file
010000010
000010000
111000111
000111000
または:
$ awk '{printf "%09d\n", $0}' < file
010000010
000010000
111000111
000111000
これも整数に変換されます。たとえば、数値の違いを見ることができ、電子1.1
は次のようになります。111000111.9
0000001.1
111000111.9
後者の:
000000001
111000111
また、awk '{printf "%09.0f\n", $0}'
どのラウンドであるかを確認してください。
000000001
111000112