
エクセル2010を使って2進数の乗算と加算を複数回行い、最後にそれぞれの答えをすべて加算したいのですが、こういうことは可能でしょうか。
また、最後の答えをすべて加算したときの桁数は100桁程度になると思います。
(できれば10進数をキーボードから入力すれば2進数の変換から複数回の乗算と加算などを自動で計算できれば大変ありがたいのですが)
書店で参考書を探したのですが、10進数→2進数、2進数→10進数の変換については載っているのですが、2進数の計算についてはどの本にも記述がありませんでした。
どうぞよろしくお願いします。
No.3ベストアンサー
- 回答日時:
2 進数では、乗法や除法も定義されます。
0 x 0 = 0、0 x 1 = 0、1 x 0 = 0、1 x 1 = 1 となります。これを使うと、当たり前かもしれませんが、筆算もできます。例えば次のとおりです。1 0 1 = 1 x 2^2 + 0 x 2^1 + 1 x 2^0 = 5
x 1 1 = 1 x 2^1 + 1 x 2^0 = 3
―――――
1 0 1
1 0 1
―――――
1 1 1 1 = 1 x 2^3 + 1 x 2^2 + 1 x 2^1 + 1 x 2^0 = 15
「整数である 2 進数」同士の計算そのものは、例えば =BIN2DEC(10)*BIN2DEC(110) といった具合にできるからいいのですが、質問文を読むと、桁数があまりにも多すぎなことが問題だと思います。
2^(100-1) = (2^100)/2
= {(2^10)^10}/2
= (1024^10)/2
> (1000^10)/2
= {(10^3)^10}/2
= (10^30)/2
= 5 x 10^29
となり、たとえ 10 進数で表示しても、0 が 29 個も並んだ数よりも更に大きいことになるわけだから、天文学的どころでは済まない、途方もない数だと分かります。せめて対数を取るくらいの工夫は必要でしょう。Excel の対数としては、LOG、LOG10、LN 関数が使えます。log x + log y = log xy というふうに、和から積を作れるのでしたね。
また、Excel の仕様では、誤差なく計算できる最大の桁数は 15 桁です。特に対数を取らない場合は、その点にも注意が必要です。
それから、BIN2DEC 関数は、符号を含めて 10 ビットまでの整数にしか対応できないことにも注意してください。つまり数字の部分は 9 ビットなので、-512 以上 511 以下の整数です。
小数も扱うには、(1)元の数を何倍かして小数点以下をなくす(整数化する)方法とか、(2)ユーザー定義関数その他の方法により 2 進の小数を 10 進の小数に直し、計算後に 10 から 2 に戻す方法などが考えられます。何倍かすると言っている意味は、10 進数を 10 倍すると小数点が右に一つ移動するのと同様に、2 進数では倍にすると小数点が動くという性質を使うということです。
次のページを参考にしてください。
2 進小数の求め方 http://oshiete.goo.ne.jp/qa/6756230.html
2 進小数の加法 http://detail.chiebukuro.yahoo.co.jp/qa/question …
No.2
- 回答日時:
>2進数の計算についてはどの本にも記述がありませんでした。
2進数は0と1の文字列で表していますがONとOFFを表しているだけなので乗算や除算ができません。
加算だけはできますので乗算は加算を繰り返すことで対処しています。
減算は補数を加算することで計算できるとされています。
これらのことはコンピューターの成り立ちを読み返せば理解できるでしょう。
Excelでは10進数を2進数に変換して文字列で表記する方法もありますが1度に変換できるのは10進数の511までで直接2進表示を加算できません。
=DEC2BIN(511,10) → "0111111111"
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 計算機科学 ビット計算 2 2023/04/16 14:26
- Excel(エクセル) 電卓は正しいのに エクセルで計算させると間違った答えです。なぜ? 7 2022/08/11 07:04
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- C言語・C++・C# C言語 3 2022/10/04 15:07
- その他(プログラミング・Web制作) Visual Studio Code 関数の使い方について 3 2023/05/31 13:15
- 計算機科学 この二つの計算方法が分からないです。 ・2進数10111010を10進数へ。 ・10進数28を2進数 7 2022/10/11 01:18
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- その他(教育・科学・学問) 10進数からビットフラグの判定 例えば、 11011 というビットフラグが10進数「27」になってい 7 2022/12/07 13:43
- 計算機科学 2進数の計算について 2進数の値は全て8ビットで負数は2の補数形式とする。結果が8ビットで表現出来な 3 2023/07/22 14:08
- 情報処理技術者・Microsoft認定資格 2進数の問題を教えてください。 1 2022/07/27 09:42
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【有効数字について】 授業で、...
-
有効数字について
-
12万の5%はいくらですか?
-
なぜ1と0か?
-
もしコンピューターが2進数か...
-
2進数の計算(小数点)について
-
ブルーレイディスクの容量に関...
-
整数引く小数点の計算です。 78...
-
有効数字は最後答えを出すとき...
-
1秒は何ミリ秒とか、単位変換の...
-
accessのデータ型について
-
ビット数と表現できる数の範囲...
-
ICカードデータサイズ比較
-
改行削除の便利な方法について
-
5000KBytes/sをbitに変換するには
-
排他的論理和
-
おねがいします。
-
エクセル関数について第二弾
-
Stirlingについて
-
なぜ、i++なのか?(ものすごく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【有効数字について】 授業で、...
-
1TBHDDに音楽ファイルは何ア...
-
エクセル2010で2進数の計算をす...
-
【エクセル】四捨五入・二捨三...
-
16bitはダイナミックレンジが97...
-
有効数字は最後答えを出すとき...
-
VBAで時間の型と計算方法教えて...
-
Excelの時刻の不思議
-
フィルムスキャン 4800dpiでデ...
-
12万の5%はいくらですか?
-
もしコンピューターが2進数か...
-
ブルーレイディスクの容量に関...
-
かけ算(わり算)と足し算(引き算...
-
1秒は何ミリ秒とか、単位変換の...
-
計算機について
-
有効数字計算 確定した値を含む
-
下の青線部について。 なぜここ...
-
2進数の計算(小数点)について
-
なぜ1と0か?
-
有効数字
おすすめ情報