10進→2進の暗算方法

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2008-6-19 10:53
yoshimune182  常連   投稿数: 12
問題を解いていてどうしても、10進→2進の計算に
時間を費やしてしまいます。
手書きでもだいぶ早く解けるようにはなったのですが、
筆記せず、暗算で解けるようになりたいです。
試験本番では鉛筆等の使用は禁止されているということも聞きました。
皆さんはどのような方法で暗算しているのでしょうか??
下記の例でご教授願います。



(例)10進数151を2進数に変換せよ
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-6-22 4:08
EMIKS  常連   投稿数: 11
アドレスを計算するだけなら以下の考え方でOKだと思います。

IPv4のアドレスは32bitを8bit毎に.で区切ったアドレス空間で表現するので、フルbitでも最大255(10進)ですよね。

フルbitとは2進数で1が8つ並んだ状態です。
11111111
各Bitには基数(この場合2)のx乗の重みがありそれぞれ計算して10
進数で表現すると以下の様になります。

128 64 32 16 8 4 2 1=全部足して255

この規則さえ覚えていれば、10進数151と言われた時に1bit目と8bit目が1になる事はすぐ分かるはずです。

1 0 0 0 0 0 0 1 =129

次に151-129=22なので足して22になりそうな組み合わせをいくつか
考えれば、16と4と2になるのでそのbitを1にすれば出来上がりです。

151=1 0 0 1 0 1 1 1=128 0 0 16 0 4 2 1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-6-24 15:38
yoshimune182  常連   投稿数: 12
128 64 32 16 8 4 2 1=全部足して255 の規則は覚えました。


10進数151と言われた時に1bit目と8bit目が1になる事はすぐ分かるはずです。

→どうして8bit目と1bit目がいきなり1になるのでしょうか?
 128以上の10進数の場合は8bit目1bit目を1にすると
 後の計算がしやすいからなのでしょうか??

EMIKS さんのご教授通りに10進→2進の計算を行なってみます

 
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-6-24 15:42
sibatora  半人前   投稿数: 6
yoshimune182さん

本番で鉛筆は使えませんけども、ペンとボードを会場で貸してくれるので、それを使って計算できます。

ご存知かも知れませんが、一応。
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-6-24 15:54
yoshimune182  常連   投稿数: 12
sibatoraさん

さらに細かな質問なのですが、どのようなペンとボード
なのでしょうか?

ペンは細かな字も書けますでしょうか??
水性マジックとかでは無いですよね??

ボードは消したり書いたりできるホワイトボードみたいなものでしょうか??
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-6-24 18:57
EMIKS  常連   投稿数: 11
私が受けたときは、紙(B5位のサイズ)を両面ラミネート加工したようなものと水性のフェルトペンが用意してありました。

Eraserはあったかなかったか覚えてません。
ただ、手でも消せますよ。
(逆にそれが問題でもあったんですけどね。)
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-6-24 19:11
EMIKS  常連   投稿数: 11
→どうして8bit目と1bit目がいきなり1になるのでしょうか?
 128以上の10進数の場合は8bit目1bit目を1にすると
 後の計算がしやすいからなのでしょうか??

規則を理解していれば分かると思いますが....。

まず1bit目が1と判断する理由はズバリ求める数が奇数だからです
2進数である以上8〜2bit目までをどんな組み合わせで足し算しようが偶数にしかなりません。
(この事はBCD/DCBの計算問題特に選択問題を解く上で非常に重要な点ですよ。)

次に8bit目が1と考える根拠は7bit目〜1bit目を全部足しても127にしかならないからです。だから128以上の10進数を表現する場合は必然的に8bit目を1にする事になります。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-6-25 2:33 | 最終変更
ゲスト    投稿数: 0
はじめまして^^

私は、地道に計算する方法です><;
なので、暗算には、遠いですけど、私の考え方です。


(例)10進数151を2進数に変換せよ

151の中に「128」の数はあるのでまず「10000000」になります。
151−128=23なので、「23」に注目をするのですが、16+8=24になって数が大きいので、16+7=23になるのが分かります、16は「00010000」、7は「00000111」なので
答えは「10010111」となります。

ここでのポイントは「16+8=24」ということを計算しなくても頭に入っていることが必要だと思います。




2進数⇔10進数の計算は、ゲームが好きならbinary gameがおすすめですよwwレベル5までしかいかないけど^^;
だんだんヒントがなくなっていくから><;
でも、やってると自分流の効率の良い計算の仕方が生み出せるかもしれませんww

http://forums.cisco.com/CertCom/game/binary_game_page.htm



私が、受けたところでは、ペンとボードで、ボードは何枚でもいいと言われたので私は3枚にしました。なので、ペン2個とボード3枚で、やりました。その時はボードを2枚しか使いませんでしたよ。

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.