新しいものを表示

東大宮操車場、こんな場所だったわけだし><
昭和の残像 鉄道懐古写真(4) 東北新幹線全線開業の35年前、特急列車の貴重な休息シーン | マイナビニュース news.mynavi.jp/article/retrosp

動き少ないけど、埼玉の東大宮操車場も陸橋架かってて上から見れる><(国鉄時代に見たらものすごく楽しかったであろう場所かも><)

orange さんがブースト

歩道橋から車両基地が見える景観というと、三鷹車セとか、新木場車両基地とか。田町センターは日中でもひっきりなしに車両入替で動いてるし、見てて飽きないのはいいよね。時の運では乗務員の現車訓練や技能試験の様子まで見えるぞw

FreeBSDのソース見たけど、普通にシフトして探してるっぽい><
github.com/freebsd/freebsd/blo

orange さんがブースト

@orange_in_space 4ビットだけ立てたAND積を取るとか? 若干早くなりそう

一番大きい1のbit(例えば00101101なら6)を調べるのって高速に調べるアルゴリズムとかってないのかな?><(頭からシフトして見てくしかない?><)

こんがらがってきた・・・・><

文字数オーバーで削った・・・><(桁以外の意味がある部分(とはどういう意味か)の所><;)

IEEE754の「けち表現」><(2/2) 

(つづき)
でも、なんで必ず一番左のビット(この場合は24bit目)が1になるの?><の説明><

浮動小数点数ってつまり指数表記なんだから、仮数部を指数部分ずらした表現じゃん?><

例えば「00001010.00」って数があったとする><(2進でも10進でもおk!><)

これで桁以外の意味がある部分(つまり両側から0を削ってたら)は「101」かも><
でもそれだと困る><
101じゃ無くて1010なんだから><

そこで「最初のゼロじゃない数字が何桁目(千の位とか)にあるか?><」ってことも覚えておけば、元に戻せる><
「1010.00」ならば下から見て4桁目だよっておぼえてれば元に戻せる><

つまり、「101」(仮数部)を「4」桁目から(指数部)書いたやつ!><って表現するのが浮動小数点数><

ところで、仮数部は「最初のゼロじゃない数字」からなんだからつまり、仮数部の頭は0では無い><
さらに2進数の場合は0じゃない数字は1しかない><
つまり最初は必ず1になるんです!!!!><
(完)

IEEE754の「けち表現」><(1/2) 

IEE754の「けち表現」の意味がなかなかわからなかったけど、「なんで必ず1になるか?」をこう理解したらわかった><
-----
2進数で0以外の数字をあらわそうとすると、必ずどこかに1があるじゃん?><(無ければゼロじゃん?><;(10進数で言うと0じゃない数字があればゼロじゃないじゃん?><))

めでたしめでたし><
(つづく)

IEEE754ちょっとわかるになった>< 

IEEE754 単精度で5.0><

バイナリ表現><
01000000 10100000 00000000 00000000

符号:0(正)

指数部 8bit
10000001(127足してある表現なので-127して「2」)

仮数部 23bit
_0100000 00000000 00000000

仮数部は24bit目が常に1だけどケチって23bitに削ってあるので、それを元に戻す><
10100000 00000000 00000000

(とりあえず整数(=指数部が正)だけで考えると)
それを右に24bitシフトして、左に1ビットシフトして、最後に左に指数分(今回は「2」)シフトすると、
(つまり21右シフトする)
00000000 00000000 00000101

0b101なのでつまり10進で「5」 だ!!!><

AN575 IEEE 754 Compliant Floating Point Routines | Application Notes | Microchip Technology Inc. microchip.com/wwwAppNotes/AppN

例えば16bitな整数を単精度な浮動小数点に変換するのって、標準的な8bitCPU(FPUとか無いやつ)を使ったら何命令ぐらいで出来るんだろう?><

IEEE 754な浮動小数点数をビット弄って自分で作ろうとしてみて思ったけど、もしかして整数を浮動小数点数に変換するの(例えばintな42をfloatな42.0とか)って、ものすごくめんどくさいというか(単純なCPUを基準に見た場合)わりと重い処理なのかも?><

アンカレッジ、貨物便ばっかり><

古いものを表示
:realtek:

思考の /dev/null