Julia で2進数、16進数
2016-01-15


久しぶりに 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)

文字列に関しても分かってきたので、そのうち書く予定。
[Julia]

コメント(全1件)
コメントをする


記事を書く
powered by ASAHIネット