符号あり正数?2進数??2の補数???

| コメント(0) | トラックバック(0)

放送大学で、ソフトウェアのしくみを順調に(汗)学習中です。

はてさて、第1回の授業を受講し、演習問題に取り組んだモノの、エクセル女子(笑)には意味不明な単語が続出。「符号あり正数」これは、「+」「-」の符号がつくと言うことで理解。DBで桁数(文字数)を設定する場合、10桁なら、符号で1桁使うので、実際には9桁しか入力できなくなる、そんな感じ。「2進数」これは、数字を0と1で表示するということで、時計の12進数や60進数が理解できていればOK。でも、0→1→10→11→100 と、即桁が上がる恐ろしい表現方法。なるほど。最後に「2の補数」。これ、わかりませんね(笑)。Facebookで説明を受けても、はぁ?という感じ(失笑)。エクセル女子の日常に全く存在しない文化です。

結論として、「2の補数」を理解することよりも、符号あり正数の負の数を、2進数化するときに、2の補数で表現できるようになればOKと理解。プログラムはなすべきコトができればそれで良いのです!(初心者の内は)!!

  1. 負数の絶対値を取る
  2. 2進数にする(3bit)
  3. bit反転する(0→1、1→0、なので、100→011)
  4. 001を足す

エクセル2010には2進数に変換する関数 DEC2BIN() がありますが、2進数化した数値を2進数として計算させることはできないようです。111+001なら1000が解ですが、エクセルは112とします。普通ですね(笑)。ということで、10進数で計算したモノを2進数化するのがよろしいようです。

個人的に困ったのは、不慣れすぎて、この計算過程が正しいかどうか確認する術が無かったこと。解が回答と同じでも大丈夫なのかと不安になりました。ということで、エクセルで、計算過程を表現してみようと思い至ったわけです。

また、演習問題2.2、2.3の表をエクセルで作成し、×がつく(フラグが立つ)場所に×を付けてみました。こんなことに4時間も消費したことは棚上げしておきます。きっと、このファイルを作った知識はPGする時に役立つと思うから。

作成したエクセルファイルはこちらにあります→ http://1drv.ms/1huBaTM

なお、bit反転するエクセル関数がなかったため、エクセルで数字を反転させるマクロ、関数はありますか? 例 11→00 00→11 を参考にしました。質問者と回答者に感謝感謝♪ また、不幸にも巻き込まれてしまったソフト屋の背の君様にも感謝感謝。「旧2種の勉強?」と言われてしまった(笑)。

では、エクセル女子、エンドユーザー女子の皆様、お互い、コツコツがんばりましょう!!

オススメサイト
Facebook 放送大学講義「ソフトウェアのしくみ」
Facebook 放送大学講義「コンピュータのしくみ」

 

トラックバック(0)

トラックバックURL: http://pc.z-kikaku.jp/mt/mt-tb.cgi/516

コメントする

このブログ記事について

このページは、杜夜 泉が2014年4月10日 11:32に書いたブログ記事です。

ひとつ前のブログ記事は「小ネタ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.04