• ベストアンサー

2進法と16進法の加減算

みなさん始めまして!よろしくおねがいします。基本情報の問題です。 以下の計算につき、桁上がりや桁借りをふくめた解説お願いいたします。 -----ココから 2進法  A:00110101 B:00011110  A+B  A-B 16進法  A:ABCD B:9876  A+B  A-B -----ココまで

  • chaz
  • お礼率65% (36/55)

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

  • ベストアンサー
noname#598
noname#598
回答No.3

A:110101 B:11110 A+Bについて 110101+11110=121211 ここで、2=10だから(これが桁上がりです)、202011 再び2=10より、A+B=1010011 A-Bについて 一の位は1-0だから桁借りがなく、1(残りは11010-1111) 十の位は0-1だから桁借りをして、10-1=1(残りは1100-111) 百の位も0-1だから桁借りをしたいが、Aの千の位が0なので、更に桁借りをしておく。(つまり、100=12) 面倒なので千の位も同時に考えて12-11=01(残りは10-1) 一万の位は桁借りをして10-1=1 これで計算終了。 A-B=10111 16進法  A:ABCD B:9876 これでは引き算のときに桁借りがないので、  A:13579 B:ABCD これでやってみましょうか。(自爆しそうだけど(笑)) G=10 に注意します。 A+Bについて 一の位  9+D=(Dから3つ進むとGで、6余るから)6(十の位は桁上がり) 十の位  1+7+C=(Cから4つ進むとGで、4余るから)4(百の位は桁上がり) 百の位  1+5+B=(Bから5つ進むとGで、1余るから)1(桁上がりあり) 千の位  1+3+A=E (桁上がりなし) 以上より、A+B=1E146 A-Bについて 一の位はBの方が大きいから桁借りをしておく。  19-D=(19から13戻って)6 十の位は一の位で桁借りがあったので、6-Cとなり、またBの方が大きいので桁借りをする。  16-C=(16から12戻って)4 百の位も同様に、  14-B=3 千の位も同様に  12-A=2 よって、A-B=2346 こんな感じでよろしいでしょうか?

chaz
質問者

お礼

どれもよかったのですが、私的にベストはコレでしょうか。桁上がり、桁借りにかんしてもこの説明で飲み込めました。一番うれしかったのは16進数の引き算で桁借りが発生するよう問題をアレンジしてくださったことです(涙)サンキューベリーマッチでした。

その他の回答 (4)

  • good777
  • ベストアンサー率28% (36/125)
回答No.5

【2進法】  A:00110101 B:00011110 ★ A+B *******************************************   A:00 11 01 01  + B:00 01 11 10 ------------------ 11 ←01+10=10 1 00    ←01+11=100 1 00     ←11+01=100 ------------------- 01 01 00 11 ★ A+B ****************************************** A:00110101  +10=00110111 - B:00011110  +10=00100000 ------------------ A、Bともに10をくわえてからひいても差A-Bは変わらない A:00110111  - B:00100000 ------------------    00010111 【16進法】  A:ABCD B:9876 ★ A+B *********************************************     ABCD     +9876 ------- 13 ←D+6=13 13 ←C+7=13 13 ←B+8=13 13 ←A+9=13 -------- 14443 ★ A-B *************************************************     ABCD     -9876 ------- 7 ←D-6=7 5 ←C-7=5 3 ←B-8=3 1 ←A-9=1 -------- 1357 説明読むのもかったるいという人向けに 説明文を極力省いてみました。 題して、「目で解く、記数法」 ただし、スペースキーが反映されないとしたら 悲惨な結果になりそう。

chaz
質問者

お礼

基数計算に関してある程度知識があればこれくらい簡潔な説明がかったるくなくてよかったのかも。でもでもわたしは数学音痴なんですぅ(^^;;;。ありがとうございます。

noname#598
noname#598
回答No.4

ゆっくりやってたら先を越されてしまった(笑) 一応こんなのを見つけてきたので置いていきます。

参考URL:
http://www.josaigakuen.ac.jp/~yoshi561/syumi.htm
chaz
質問者

お礼

検索でもいろいろさがしたんですけど、このページはひっかからなかった。ナイスサーチ!ありがとうございます。

  • hero1000
  • ベストアンサー率29% (114/390)
回答No.2

n進法ならば、各桁の和(繰り上がり分があるときは、それも含む)をxとすると、  x ≧ n ならば 1つ上の位に1繰り上がり、(x-n)がその桁の答え  x < n ならば そのままxがその桁の答え となります。 引き算の場合は、各桁の差(繰り下がり分があるときは、それも含む)をyとすると、  y < 0 ならば 1つ上の位から1繰り下がり、(y+n)がその桁の答え  y ≧ 0 ならば そのままyがその桁の答え となります。 2進法 A:00110101 B:00011110 これを2^0の位(右端)から順に計算していきます。 2^0の位 1+0 = 1 2^1の位 0+1 = 1 2^2の位 1+1 = 2 → 1繰り上がって、この桁は0 2^3の位 0+1 +1(繰り上がり分) = 2 → 1繰り上がって、この桁は0 2^4の位 1+1 +1(繰り上がり分) = 3 → 1繰り上がって、この桁は1 2^5の位 1+0 +1(繰り上がり分) = 2 → 1繰り上がって、この桁は0 2^6の位 0+0 +1(繰り上がり分) = 1 2^7の位 0+0 = 0 よって、A+B=01010011bとなります。(末尾の「b」は2進表記を示します) 続いてA-Bです。やはり2^0の位(右端)からの計算です。 2^0の位 1-0 = 1 2^1の位 0-1 = -1 → 2^2の位から1繰り下がって、この桁は1 2^2の位 1-1 -1(繰り下がり分) = -1 →2^3の位から1繰り下がって、この桁は1 2^3の位 0-1 -1(繰り下がり分) = -2 →2^4の位から1繰り下がって、この桁は0 2^4の位 1-1 -1(繰り下がり分) = -1 →2^5の位から1繰り下がって、この桁は1 2^5の位 1-0 -1(繰り下がり分) = 0 2^6の位 0-0 = 0 2^7の位 0-0 = 0 よって、A-B=00010111bとなります。 さて、16進法の方ですが、これも考え方は一緒です。 ただし、各桁の計算結果が10以上になった場合はちょっとクセがあります。 10→A、11→B、12→C、13→D、14→E、15→F を覚えて下さい。 A:ABCD B:9876 まずA+Bを求めます。やはり16^0の位(右端)から計算します。 16^0の位 D(13)+6 = 19 →16^1の位に1繰り上がって、この桁は3 16^1の位 C(12)+7 +1(繰り上がり分) = 20 →16^2の位に1繰り上がって、この桁は4 16^2の位 B(11)+8 +1(繰り上がり分) = 20 →16^3の位に1繰り上がって、この桁は4 16^3の位 A(10)+9 +1(繰り上がり分) = 20 →16^4の位に1繰り上がって、この桁は4 16^4の位 A、Bともにこの位がないので、 0+0 +1(繰り上がり分) = 1 よって、A+B=14443h(末尾の「h」は16進表記を示します) つぎにA-Bです。 16^0の位 D(13)-6 = 7 16^1の位 C(12)-7 = 5 16^2の位 B(11)-8 = 3 16^3の位 A(10)-9 = 1 よって、A-B=1357hとなります。 ちょっとゴチャゴチャしてしまいましたが、わかりましたでしょうか?

chaz
質問者

お礼

私てきにセカンドベストはこれでしょうか。計算のステップをみやすく、わかりやすく、詳細にシミュレートしたくださいました。サンキュー!

  • igmp
  • ベストアンサー率28% (156/546)
回答No.1

普通、我々一般人は10進数に慣れ親しんでいます。 10進数の場合は足して10(9+1)以上になったら桁上 がりが、桁借りの場合は10を借り(足し)ます。 この原理は2進数でも16進数でも同様で、2進数の場合 は2(1+1)以上になったら桁上がり、桁借りの場合は2 を借り(足します)。 同じく16進数は、16(F+1)以上になったら桁上がり、 桁借りの場合は16を借り(足します)。

chaz
質問者

お礼

問題の解き方を一通り理解したあとで、知識をざっと整理するのに役立ちました。ありがとうございます。

関連するQ&A

  • n進法についての問題です。

    nを2以上の整数とした時 n進法で表されて4桁の数abcd(n)のうちa=d≠0 b=cであるものを n進法の4桁回文とよぶ。 (1) 4進法の4桁回文全ての最大公約数を求めよ。 (2) n進法の4桁文は全てn+1で割り切れる事を示せ。 ※宜しくお願いします。

  • 8進法の問題です

    この2つの問題を自分なりに答えはだしてみたのですが、8進法の計算だけを用いてと言われると自分の解き方があっているのかよくわからないのです。どなたかできれば解き方を教えていただけませんか??お願いします。 1)8進法の計算だけを用いて(10進法の計算は用いずに)、以下の数を8進法で表しなさい。  A) 384(10進数)→?  B) 2B0(12進数)→?  C) 1BA(12進数)→?  D) 11C(16進数)→? 2)8進法の計算だけを用いて(10進法の計算は用いず)、以下の8進数を指定された進数で表しなさい。  A)326(8進数)→?(10進数)  B)135(8進数)→?(12進数)  C)642(8進数)→?(12進数)  D)635(8進数)→?(16進数) 1)についてはA)ならば3*8^2+5*8~1+6*8~0=3*54+46+6=214というようなやり方でいいのでしょうか?B)C)も同様に解いて79、2AAになりました。D)はよくわかりませんでした…。 2)は商が0になるまで割っていき余りが答えになり、A)600というようになるんですよね?しかし、B)C)D)のように記号が入るとわからなくなってしまいます。

  • 訂正;8進法の問題です

    この2つの問題を自分なりに答えはだしてみたのですが、8進法の計算だけを用いてと言われると自分の解き方があっているのかよくわからないのです。どなたかできれば解き方を教えていただけませんか??お願いします。 1)8進法の計算だけを用いて(10進法の計算は用いずに)、以下の数を8進法で表しなさい。  A) 384(10進数)→?  B) 2B0(12進数)→?  C) 1BA(12進数)→?  D) 11C(16進数)→? 2)8進法の計算だけを用いて(10進法の計算は用いず)、以下の8進数を指定された進数で表しなさい。  A)326(8進数)→?(10進数)  B)135(8進数)→?(12進数)  C)642(8進数)→?(12進数)  D)635(8進数)→?(16進数) 1)は商が0になるまで割っていき余りが答えになり、A)600というようになるんですよね?しかし、B)C)D)のように記号が入るとわからなくなってしまいます。 2)についてはA)ならば3*8^2+5*8~1+6*8~0=3*54+46+6=214というようなやり方でいいのでしょうか?B)C)も同様に解いて79、2AAになりました。D)はよくわかりませんでした…。

  • n進法の問題

    ある自然数をxとする。 x を6進法で表すと4桁の数字abcdになる。 2xを6進法で表すと4桁の数字dcbaになる。 xを求めよ。 という問題が意味不明です。どなたか解ける方いらっしゃいませんか。

  • Newton法について

    数値計算の問題でわからないのがあるので教えてください。 a,bを実数とするとき、以下の連立方程式を多変数Newton法で解くための漸化式を書き記せ。 x^2-y^2-a=0 2*x*y-b=0 なんですが、Newton法の公式をどのように当てはめるのかわかりません。誰か教えてください、お願いしますm(__)m

  • 2進法、16進法の計算についての質問です。

    問・・・次の計算をしなさい。 1)2進法で1101×10101を計算し、2進法で答えなさい。 2)16進法で6B×A4を計算し、16進法で答えなさい。 この問題の計算過程をお教え頂けたらと存じます。頭の中が混乱して分からなくなってしまいました。初学者なのですが困っています。大学の授業で扱われた問題なのですが全くわかりません。

  • 方程式とn進法の問題がわかりません

    問1 A~Dの平均点は70点、クラス平均に比べてAは3点低く、Bは5点低く、Cは8点高かった。また、Dはクラスの平均点よりもたかく、Cよりも低かった。平均点が整数であったとするtき、クラスの平均点を答えよ。 (X-3)+(X-5)+(X+8)+(X+a)=280 (ここまではあってます) 続きを自分で計算したら間違っており 正しい答えが↓なのですが、わかりません 4X+a=70×4 ←どう計算したらこうなるんですか? 4X=70×4-a X=70-a/4  ←何故分数になるんですか? a=4なので69 問2 62.2×(N-1)+a-{63.9×(N-1)+b}=0 (62.2-63.9)×(N-1)+a-b=0 ← (N-1)が1つ消えてるのは何故?bはなぜ-になった? a-b=68を代入 (62.2-63.9)×(N-1)+68=0 -1.7(N-1)+68=0 1.7(N-1)=68÷1.7 ← なぜ÷?=を取って-じゃないの? N-1=40 N=41 問3 る数を5進法で示しても7進法で示しても4ケタであった。この数を3進法で示すと何ケタになるか? 5進法の最小1000 最大4444を10進法すると 1000=125 4444=624 7進法だと 1000=343 6666=2400 5進法でも7進法でも4ケタになる数は10進法で最小125、最大2400と答えたら×で 正解は最小343、最大624なんです 何で343と634なのでしょうか?

  • 複数セルに入力した数字同士の加減算

    EXCEL2013で金銭出納帳を作成しています。 市販の罫線入り出納帳のように、金額欄は桁毎に異なるセルに入力するようにしました。 例えば、A10は10,000円の桁入力、B10は1,000円の桁入力、C10には100円の桁入力・・・となります。 12,345円と入力する場合、A10に「1」、B10に「2」、C10に「3」、D10に「4」、E10に「5」となります。 つまり、A10×10000+B10×1000+・・・・+E10=12,345となります。 次行に67,890円と入力する場合、A11に「6」、B11に「7」、C11に「8」、D11に「9」、E11に「0」となり、同様にA11×10000+B11×1000+・・・・+E11=67,890となります。 この複数のセルに跨がった金額同士を加算したり、減算したりする場合、簡単に計算する方法はないでしょうか? やはり足す場合は、(A10×10000+B10×1000+・・・・+E10)+(A11×10000+B11×1000+・・・・+E11) 引く場合は(A10×10000+B10×1000+・・・・+E10)-(A11×10000+B11×1000+・・・・+E11)とするしかないんですかね? 簡単に計算できる方法があれば、お教えください。 よろしくお願いします。

  • 「987654321の987654321乗」:中学生向き解法

    先日、本稿で「987654321の987654321乗の各ケタの和をaとして、さらにaの各ケタの和をb、bの各ケタの和をcとするとき、cの値を求めよ」という問題について、ある先生に明解な解法を教えていただきました。本当にありがとうございました。ただ、中学生には対数の概念がまだありませんので、私なりに、対数の意味を咀嚼しながら以下のように子供に解説しようと思うのですが、論理的な破綻はないでしょうか? どなたか採点をよろしくお願いいたします。 【解】 p=987654321、pのp乗=qとおくと、 p<10億だから、qは10億の10億乗以下なので、せいぜい90億ケタ。 各ケタの最大数は9だから、qの各ケタの和(=a)はせいぜい9×90億=810億。 したがって、b<810億の各ケタの和だが、計算が面倒なので、 a=999億9999万9999としたところで、bは9×11=99以下。 ところで、pは9の倍数だから、qにどのようなケタを加える試行を重ねても、それは9の倍数のまま。 つまり、bは99以下の正の9の倍数、すなわち、9,18,27,・・・81,90,99。 この中で、b=99の時のみc=18となるが、これは「計算が面倒なので、a=999億9999万9999とした」場合に発生した無縁の解で、b<810億を満たさない。 したがって、bは9,18,27,・・・81,90のいずれかであって、いずれの場合もc=9となる。 以上。 よろしくお願いします。

  • 虫食算

    4桁のABCDがあり、下の二つの条件が成り立つ時、A、B、C、Dの整数の合計はいくらか? (1)ABCD - CDAB -------   2178 (2)AB=CD×2+1 解説 (1)より、AB-CD=21 CD-AB=78とわかる ここまではわかるのですが、それ以降が全く理解できません。 (2)AB=CD×2+1より、 AB>CDなので、 3桁の数字、1CDとする。 わかりやすく解説していただけないでしょうか。 宜しくお願いします。