emueの日記

学んだことを書いていきます

小数の10進数を2進数で表す方法

基本情報技術者試験に向けて勉強していて、小数の10進数を2進数で表す問題があった。整数部分は知っていたけど、小数部分については知らなかったのでメモ。

例)7.75_{(10)}を2進数で表わせ 。

まず整数部分と小数部分に分けて考える。

整数部分の7について

1になるまで2で割ってき余りを記録していく。図のように書くのが簡単。 f:id:syndiotactic:20170801192644j:plain:w300
そして図の矢印のように記録した順と逆に余りをならべて 7_{(10)}=111_{(2)}

小数部分の0.75について

小数部分に2をかける。出てきた数の整数部分を記録し、再び小数部分に2をかける。この操作を出てくる数が1になるまで繰り返す。図のように書くのが簡単。 f:id:syndiotactic:20170801192654j:plain:w300
そして図の矢印のように記録した順に並べて 0.75_{(10)}=0.11_{(2)}

以上より7.75_{(10)}=111.11_{(2)}

今日したこと

Vimの勉強

新たに学んだコマンド

  • インデント >G
    すごく便利そう!
  • 別ファイルを開く :e ファイルのパス
    パスを./とするとカレントディレクトリ内のファイルの一覧が表示される。
  • 次の行に挿入 o
    A<return>と同値
  • 行内で前方検索+カーソル移動 f<文字>
    ;で次へ行く、,で前に戻る、後方検索はF
    後方検索の場合;,の向きが逆になる。(当たり前?)
  • 削除して挿入 s
  • 文書で前方検索+カーソル移動 /<文字>
    nで次へ行く、Nで前に戻る、後方検索は?
  • 置換 :s/対象の文字列/置換後の文字列
    &で次へ行く
  • 文書で置換 :%s/対象の文字列/置換後の文字列
    最後に/gをつければ全部置換される。最後に/cをつければ1つずつ置換される。
    参考 vim 文字列置換 基本的な事 - Qiita  

毎日やること

実践Vimを5TIPSずつする。121TIPSあるから25日後には終わっているはず。

今日したこと

今週のお題「好きなアイス」: パルム

deinのインストー

リポジトリ
GitHub - Shougo/dein.vim: Dark powered Vim/Neovim plugin manager

vimrcの設定を参考にした。自動インストールが便利。
Vim入門(1): Vimのプラグインを管理するdein.vimの使い方 | Simplie Post

VimClojureのインストー

参考にした。
Markdown記法まとめ(見出し、段落、改行、水平線、強調、引用、コード)[1/3] - はしくれエンジニアもどきのメモ

deinを使ってのVimClojureのインストールはvimrcに

call dein#add('vim-scripts/VimClojure')

を追加して再起動。シンタックスがついて見やすくなった。

clojureの勉強

contains?はListに対しては使えない。

(def a-set #{:a :b :c})
(def b-list '(:a :b :c))
(class a-set)  ;=>  clojure.lang.PersistentHashSet
(class b-list)  ;=>  clojure.lang.PersistentList
(contains? a-set :c)  ;=>  true
(contains? b-list :c)  ;=>  IllegalArgumentException contains? not supported on type: clojure.lang.PersistentList  clojure.lang.RT.contains

vimの勉強

新たに学んだコマンド
先頭挿入 : I
やり直し : ctrl + r
入力補完 : ctrl + p