2進数引算の説明不足箇所と解決方法

このQ&Aのポイント
  • 2進数引算について説明不足の箇所があります。
  • 計算方法において、隣の桁から2を借りる必要がありますが、0である場合の解決方法について知りたいです。
  • 参考サイトの例では、10進数の引算での解決方法が示されていますが、2進数の場合にはどのようにすれば良いのでしょうか?
回答を見る
  • ベストアンサー

2進数 引算(初歩)

下記の計算方法の解らない箇所(?)を教えてください。 参考書内の出題で回答も掲載されてますが、?以降のやり方が説明不足 なので投稿した次第です。宜しく御願いします。 ★Q1  10101010 -00110110 ----------  ???10100 下記サイトで、 http://www.cc.kyoto-su.ac.jp/~kbys/kiso/number/number1.html 10-1=1 100-1=11 1000-1=111 との事で理解(説明不足箇所を補完)しましたが、 ★Q1の形式で計算する場合 (要約すると↓100-1ですよね。回答11) 100 -001 ---- 隣の桁から2を借りたいが...0であるため...どうしたら良いでしょうか?

  • f0034
  • お礼率75% (15/20)

質問者が選んだベストアンサー

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

10=1+1 100=10+10=10+1+1 1000=100+100=100+10+10=100+10+1+1 なんだけどね。 これでわかるかな。 100=10+1+1 - 1 -------------- = 10+1 =11

f0034
質問者

補足

>100=10+10=10+1+1 はい、プロセスを理解しました 分解して頂くと 納得しました、有難うございます。 No.1さんも仰る通り、さらに上の桁から持ってくるですね。 (当方は少しおかしな思考で、100を012とすれば計算が成立つと思いましたが これは誤元になりますでしょうか)

その他の回答 (2)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.3

>(当方は少しおかしな思考で、100を012とすれば計算が成立つ >と思いましたが これは誤元になりますでしょうか) その思考法でも大丈夫です。 10進数で「百 引く 一 は 九十九」を計算するとき,次のような思考法をとるのと同じですから。  100 -001 ――――   ↓  09(10) -001 ――――  099

f0034
質問者

お礼

あ・・・なるほどです。 普段、100-1に特別意識しませんが 計算式を改めて考えると納得です。 有難うございます。

  • arain
  • ベストアンサー率27% (292/1049)
回答No.1

>隣の桁から2を借りたいが...0であるため...どうしたら良いでしょうか? やることは10進数でも2進数でも変わりません。 さらに上の桁から持ってくるだけです。

f0034
質問者

お礼

>さらに上の桁から持ってくるだけです。 そうなのですよね(変な日本語ですね、すみません) 100(2進)の1つ下桁は11です。と図表や脳内では飲込んでいますが いざ、計算形式になると、、、戸惑ってしまいまして。

関連するQ&A

  • 脈拍数についての質問です

    Q1 脈拍が135くらいになるとどういう病気なのですか? Q2 なぜ脈拍が高い(110~120)のでしょう・・・・。 Q3 どうやったら50~60することができるんでしょう? 説明不足かもしれませんが協力してください・・・。 気にしてほしいとかそーゆーアレではなく 要因をご回答願います。。。 お願いします!

  • 数学の問題 場合の数と漸化式

    数学の問題 数字1,2,3をn個並べてできるn桁の数全体を考える。そのうち1が奇数回現れるものの個数をa(n)、1が偶数回現れるか全く現れないものの個数をb(n)とする。 a(n+1)、b(n+1)をa(n)、b(n)を用いて表せ。 という問題です。 説明された考え方 a(n+1)について 1が奇数回現れている数の一番左に1桁の数を加えるとすると 1が奇数回でないといけないから2か3である。 よって、2a(n) 1が偶数回現れている数の一番左に1桁の数を加えるとすると 1が偶数回でないといけないから1である。 よって、b(n) 以上より、a(n+1)=2a(n)+b(n) 同様にして、b(n+1)=a(n)+2b(n) が答えです。 解説を聞く前に自分で考えたその考え方は同じでした。 n桁の数に1桁の数を加えるというやり方です。 しかし、計算が違いました。 説明では、「一番左に1桁加える」として計算していますが 最初、n桁の数の場合、その数と数の間はn+1あるから そのn+1の間から一か所選んで、そこに2か3を入れる、そしてそれがa(n)個あるから a(n+1)=(n+1)C1 * 2 * a(n) + (n+1)C1 * 1 *b(n) を計算しました。 何がいけないのでしょうか? 一番左に加えると決めつけてしまってもいいのでしょうか? お願いします。

  • Excel VBAで1列に同じ値がある場合

    ExcelVBAで1列に同じ値が2つ以上ある場合、他の列を取り出すようにしたいです。 下記のようなテーブルがあった場合に、 No.4の値を2行から最終行まで、確認していき、 同じ値が2行以上あった場合に、それを1行にまとめて、 No.2に小さい値を、No.3に大きい値を書き込むようにしたいです。 例) No.1 No.2 No.3 No.4 No.5 q    1    1    1    a q    2    2    1    a q    3    3    1    a VBAで下記のようなテーブルにしたいです。 No.1 No.2 No.3 No.5 q    1    3    a 当方、初心者でまだ日が浅いため、どうしても1行にまとめることができず、どなたか助けていただけますでしょうか。 回答よろしくお願いいたします。

  • 整数部関数と剰余関数・・・

    つぎの説明文の当てはまる語句、または数値を教えてください。 回答がなくてどう考えていいかわかりません。 [説明文] 5桁の整数から、上位3桁と下位2桁に分離した値をとりだすことを考える。 たとえば60524なら605と24を分離して取り出す。 まず元の数値を (1)×(2)+(3) と考えればわかるように、一般に5けたの整数を(2)で割った(4)は上位3桁の数になり、(5)で割った(6)は下位2桁になる。したがって、元の整数がセルA1に格納されているとすると、上位3桁を求める計算式は (7) 下位2桁を求める計算式は (8) とすればいい。 どう考えればいいでしょうか?よろしくお願いします。

  • カンマの付け方

    ファンクションの中で記述した数式の結果に 三桁区切りでカンマをつけたいのですが、 どうすればよろしいのでしょうか。 lstArariYosan.value = Math.floor(lstUriageYosan.value.replace(",","") * lstArariRitu.value); 今は、こんな感じでカンマを外して計算しています。 計算結果を出した後、逆にカンマをつけてから 表示するようにしたいのですが、 何かいい方法はありますか? また、下記がカンマ編集のメソッドの様ですが、 これを使って表示しようとするとエラーになります。 function addComma(su) {  var ret="";  var fugou="";  if(su.length>0 && su.substring(0, 1) == "-") {    ret = su.substring(1, su.length);    fugou = "-";  } else { ret = su; }  if(ret.length>3){    for(i=3;i<ret.length;i+=4){    var moji=ret.substring(0,ret.length-i)+','+ret.substring(ret.length-i,ret.length);    ret = moji;  } } return (fugou + ret); }

  • タイ語わかる方お願いします。

    下記サイトの回答No.1にあるタイ語   「หนูเป็นบ้า ห้ามไปเมืองไทยตลอดชีวิต เราคิดว่าหนูเป็นความรำคาญอยู่」 の意味が知りたいです。宜しくお願いします。 http://okwave.jp/qa/q8669106.html

  • カシオ fx-4800pにて

    カシオの関数電卓fx-4800pで、暗算ゲームのプログラムを組みたいと思います。 説明書を見てもランダム関数は備わっていないようですが、何か良いアイデアはないでしょうか。 整数二桁の足し算が次々に出題されて回答するだけの頭のウォーミングアップです。

  • 確率について(サンプル数の計算方法)

    専門外に付き教えて頂きたいのですが・・・ ある試験を行おうとしています。 その試験とは、 ある機械が繰り返して動作したときに不規則に一定の割合でエラーが発生していました。 そして、そのエラーの原因を対策して改善したので、その確認試験を行おうとしています。 仮定条件1)改善前の、エラーの発生比率は、おおよそ7%程度でした。 仮定条件2)機械の運転回数は、1ヶ月あたり10万回で、その間に3回以下のエラーの発生はOKとします。 そこで、いったい何回繰り返し動作させれば、確認に十分な回数になるのか? これを求めるために、色々考えたのですが、下記のURLにアンケート調査のサンプル数の求め方が記載されていました。 http://www.wound-treatment.jp/next/wound225.htm これを読みますと、例えば2σの分布で誤差率を2.5%で計算すると・・・ などのような例が記載されていました。 ここからが、質問なのですが、 Q1.今回のように試験の回数を求めるのに上記の式を引用しても良いのでしょうか? Q2.Q1がOKならば、「想定する調査結果」の意味合いが良くわかっておらず、適正な数値として、何を入れればよいのでしょうか? Q3.このような計算を行う際に、エラーの発生比率などは無関係なのでしょうか? Q4.Q1がNGならば、どのような計算で求めればよいのでしょうか? 当方、専門ではございませんので、具体的な計算例などを出して説明して頂けると大変助かります。 よろしくおねがいします。

  • 8・16進数の引き算を教えてください。

    プログラミングの知識全くありません。本日PCスクールで進数の引き算を勉強したのですが全く分かりません。。。桁下げって物が私の無能の頭では理解できないのです。下記の問題を手取り足取り解説頂けると助かります。ちなみに先生からは一度2進数に直して計算し、最後に8進数・16進数に戻すように指導されたので、そのとおり教えて頂けるとうれしいです。 (1)234(8)ー37(8) (2)7543(8)-6756(8) (3)3C(16)-1E(16)

  • <ファイルメーカー>フィールドの定義の計算式(関数)について

    ファイルメーカーで顧客管理をしています。 伝票作成をするにあたり、15桁の番号の自動入力が出来ず困っています。 以下の5つの各フィールドの数値を 一つのフィールドにまとめたい (115555556666662と自動入力させたい)のですが、 そのまとめる計算式を教えて下さい。 1桁目:「1」 2桁目:「1」 3~8桁目:シリアルNo.(例えば555555) 9~14桁目:顧客番号(例えば666666) 15桁目:「2」 初心者で関数についての知識がなく、困っております。 回答宜しくお願いします。 環境: ファイルメーカー5.5 Mac OS 9.2