久しぶりに Julia に関してのメモ
データ圧縮関係の処理をしようと思い、2進数や16進数変換を調べたが、意外と書かれている情報が少ない。
http://julialang.org や http://rosettacode.org/ あたりを見てまとめたのでメモしておく。
10進数や16進数の文字列に変換するには、C言語と同じ感じで @sprintf() で出来る。2進数への変換はこれではできないが、関数 bin() が用意されている。dec()、hex() もあるので、これを使ったほうが見やすいかも。
文字列から数値への変換は、parse() という関数が用意されている。引数に "0b00110010"や "0x32" と書いてもいいし、何進数かを示す数値を付加してもいい。
まとめると下記のとおり。
(8進数もあるけど使わないので省略・・・)
|
2進数 |
10進数 |
16進数 |
定数 |
a= 0b110010 |
a= 50 |
a=0x32 |
定数から変換 |
bin(a) |
dec(a)
@sprintf("%d",a) |
hex(a)
@sprintf("%x",a) |
長さ指定 |
bin(a,16) |
dec(a,4)
@sprintf("%04d",a) |
hex(a,4)
@sprintf("%04x",a) |
文字列から定数へ |
parse(Int16,"0b110010")
parse(Int16,"110010",2) |
parse(Int16,"50")
parse(Int16,"50",10) |
parse(Int16,"0x32")
parse(Int16,"32",16) |
文字列に関しても分かってきたので、そのうち書く予定。
セコメントをする