91190


こんにちは，

今，1.「ある数を定義すると」2.「あとはその数をIEEE754表現に直して(4byte)」3.「それを1byteずつの要素のリストにしてくれる」プログラムを書いています．ほとんど出来ているのですが，どうにも最後の工程のスマートなやり方がわかりません．ぜひ教えていただきたいです，

１．「ある数を定義すると」は例としてpiを採用します

[code]

    pi=3.141592
    
[/code]

２．「あとはその数をIEEE754表現に直して(4byte)」についてはstructを使います，リトルエンディアンにしてます．

[code]

    import struct
    buff=struct.pack(“<f”,pi) 
    print( buff.hex()) #d80f4940
    
[/code]

3.「それを1byteずつの要素のリストにしてくれる」最後ここがわかりません．

目標は `bytes=[ 0xd8, 0x0f, 0x49, 0x40 ]` あるいは `bytes=[ 216, 15, 73, 64
]`のようなものを自動で生成することなのですが,これをやろうとするとどうにも回りくどくなってしまって…(strを分けて，0xをくっつけて...のように）

ただ，数のリストが帰って来れば良いです．何かシンプルな方法はありませんか？


CC BY-SA 4.0
2022-09-20T06:43:00.013
91189
2022-09-20T06:47:57.383
41334
question
python raspberry-pi
ある数を各要素1byteずつのリストに変換したい


すでに1byteずつ扱えます

[code]

    import struct
    pi=3.141592
    buff=struct.pack("<f", pi) 
    print( buff[0]) #216
    print( buff[1]) #15
    print( buff[2]) #73
    print( buff[3]) #64
    
[/code]

`list`にしたいならば

[code]

    print(list(buff)) # [216, 15, 73, 64]
    
[/code]


CC BY-SA 4.0
2022-09-20T06:47:57.383
91190
2022-09-20T06:47:57.383
13127
91189
answer