• ベストアンサー

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

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

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

  • ベストアンサー
  • syuitilwo
  • ベストアンサー率30% (169/547)
回答No.6

説明不足で申し訳ありませんでした。 010000000=001111111+1 は取りあえず置いておいて 逆から考えて行きましょう 前回答を逆からなぞって下さい。 答えである『00111101』は既に+1されていますので、 これを分離して元の『+1』にします すると00111100と+1になります ※この『+1』は脇に置いて残して置きます。そうすると残ったのは00111100ですね 次に00111100は00000011を《引き算》したものなので、元の形にするには逆に足し算してあげる必要があります +00111100 ←段差が付くので+を先頭に付属 +00000011 すると00111111になりますね で脇に残しておいた『+1』を付け足すと 00111111+1になってこれを加えてやると +00111111 +00000001 すると01000000になります。 ここで注目するの00111111から一桁上がって01000000になっている点 逆に言えば『+1』の形にすれば一桁下がって00111111になっていますよね pekopokoniさんの質問される『桁下げ』の意味は、今回も前回も最後に行われる『+1』の取り扱いな訳です。 補足にありました 1 111 112←隣の桁から借りてきた値(合ってるか怪しい) の最後の2は『+1』の意味です よって010000000から『桁下がり』するという事は『+1』を分離させて桁を下げ計算し、また『+1』してあげる事になります。 補足 01000000 ←7桁目が1 00111111 ←6桁目まで1 7桁>6桁 ※不等号

pekopokoni
質問者

お礼

何度もありがとうございました。やっと理解できました。 お忙しいのに申し訳ありませんでした…感謝です<m(__)m> 学校は春まで続くので、また??な出来事に遭遇したらお助けください。 本当にありがとうございました。

その他の回答 (5)

  • Qwerty-36
  • ベストアンサー率25% (58/226)
回答No.5

2進数二桁の引き算も出来ないの? 10-01=01 01-00=01 01-01=00 これ、判ります? あと、10進数と同じ。引き算で引けない場合は、上の桁から1を借りる。 数学じゃなくて、算数だけど。

  • syuitilwo
  • ベストアンサー率30% (169/547)
回答No.4

説明不足で申し訳ありませんでした。 010000000=001111111+1 は分かりますか?方程式で考えて見て下さい。 例を10進数で 50-20 = 49-20+1 ↑の方程式が成り立つのはお分かりでしょうか? ☆つまり、『目的の数字』に『1足りない数字』に1足してあげましょう!!!そうする『目的の数字』になる。 そこで ★『目的の数字』じゃあ引き算が難しそうだなぁ じゃあ『1足りない数字』から引き算して、その後「1」足してやれぇ!!! と言う事です。 010000000=001111111+1 ←方程式 方程式で=が成り立つならば010000000の代わりに0111111+1を使っても良い!と言う事です。 なので 010000000-000000011 = 00111111-000000011+1 と言う方程式も成り立つ訳です。 つまり +00111111 -00000011 で引き算をして得た数字→00111100に+1 +00111100 +00000001 で足し算して得た数字→00111101 と言う答えが出てきますがいかがでしょうか? 方程式が駄目って場合はさらに説明が長くなりますねf(^^;

pekopokoni
質問者

補足

ご親切に本当にありがとうございます<(_ _)> 何度も申し訳ないのですが、方程式じゃない方法もご指導頂けないでしょうか。。。 学生時代から数学かなり嫌いだったので、もっと理解しやすい方法があるならありがたいです。 本当に申し訳ありません

  • 123isao
  • ベストアンサー率54% (186/341)
回答No.3

桁下げといっても10進数と同じです。 同じ桁で足りないときは上の桁から進数分借りてきます。 10進数で  21-2は10+(10+1-2)で19 8進数だと  21-2は10+(8+1-2)で17 16進数だと 21-2は10+(16+1-2)で1F 8進数から2進数へは3桁区切りで直せます。 1桁ずつ2進数に直すだけです。 234は010011100です。 16進数から2進数へは4桁区切りで直せます。 234は001000110100です。

  • syuitilwo
  • ベストアンサー率30% (169/547)
回答No.2

8進数と16進数はさわりしかやった事がないのでそのつもりでお願いします。 8進数で最大の7を2進数に直すと=111 16進数の最大15を2進数に直すと=1111 (1)の引かれる方234を2進数にし桁区切り「|」を入れますので間違わないでください 010| 011| 100 ↑2 ↑3 ↑4 次に引く方37を2進数にし桁区切り「|」を入れますので間違わないでください 000| 011| 111 ↑0 ↑3 ↑7 この様にします。此処までできますか? 上の010011100から 下の000011111を引く ここの考え方2進数上の同じ桁(つまりこの場合上下同じ所)を引き算してみる。 すると0-0=0ですね 同じく1-1=0ですね 1-0=1は分かりますよね? ですが0-1=?なのだと思います。←とりあえず置いとく事にして +010011100 -000011111 ↑の計算出来る所を先にやってしまうと (スペースキーだと段差が出来るので便宜上『+』を付けてます) +010000000 -000000011 って事になりますよね?此処まで分かりますか? 次に桁下がりを行います。 つまり 010000000=001111111+1 分かりますか?010000000は001111111に+1して桁上がりさせますよね。これを使って置き換えると +001111111+1 -000000011 って事になりませんか? ここまでこればもう簡単!先ほどの同じ桁の引き算が使えますよね。つまり 001111100+1 って事になりますね 後は最後の+1を足し算処理します。 すると001111101に成りました。 これを8進数に直してあげれば良い訳です。 また桁ごとに「|」を入れますと 001| 111 | 101 ↑1 ↑7↑5 つまり答えは「175」になります。 答え合わせとして10進数で計算します。 234(8)=156(10) 37(8)=31(10) 156-31=125(10) 先ほどの答え「175」を10進数に直すと 175(8)=125(10) 見事にぴったりっすぅ\(^o^)/ 分かりました?

pekopokoni
質問者

補足

親切にご回答ありがとうございました。本当に私頭が固くてどうしようもなく、「つまり010000000=001111111+1…」以下から混乱状態になってしまいました。バカで申し訳ありません。 学校では    1 111 112←隣の桁から借りてきた値(合ってるか怪しい) +010 011 100 -000 011 111  001 111 101←答え   ↑   ↑   ↑   1   7   5 (8) と教わったのですが、「隣の桁から借りてきた値」ってのがどうしても理解できなくて、非常に困ってます(T_T) 先生がおっしゃってる意味理解できますか?先生に質問してもちゃんと答えてくれなかったので…お忙しいところ申し訳ありませんがアドバイスお願いいたします。

noname#17171
noname#17171
回答No.1

10進と同じですよ。 「10」進では上の位から1を持ってくると、下の桁に「+10」 「8」進では上の位から1を持ってくると、下の桁に「+8」 「16」進では上の位から1を持ってくると、下の桁に「+16」 するだけです。 わざわざ2進にする必要ありません。

関連するQ&A

  • 引き算するとき、以下のどのやり方で計算するのが早いですか?

    暗算で計算する場合です。例題は54-28です。 A 筆算で計算するときのように 14-8=6 4-2=2 26 (4-2が先でもいいです) B 54を14と40に分けて考え 14-8=6 40-20=20 20+6=26とする C 50-28=22 50は54より4小さいから、4を足して 22+4=26とする D 一の位の数をなくす 54-24=30 これから、さらに4を引いて 30-4=26 とする E 34-28 =26 F 54-30を計算して2足す これぐらいしか思い付かないのですが、3桁のくり下がり引き算などにも応用する場合も考えて、どれが効率が良いのでしょうか?

  • 2進数の計算について

    ITパスポートを受けようと思っているのですが、テクノロジ系の初歩的な部分と思われるところでつまずいてしまっています。 2進数同士の引き算、足し算がの繰上げ繰り下げが分かりません; どなたか分かり易く解説お願いします。 因みに、こんな問題です。 「2進数10110を3倍にしたものはどれか。」(選択肢が4つあります) 10110+10110+10110=答え なのは分かっているのですが、普通の計算と違うので何度テキストを読み返しても分かりません; お願いします。

  • 補数を利用した引き算について

    こんにちは。 『2進数で 111 - 010 を計算をせよ。』 という問題があります。 つまり10進数でいう所の 7 - 2 = 5 の計算をします。 補数を利用すると引き算が足し算ででき、演算が簡単になることを 本は説明しようとしてるのですが、腑に落ちない点があります。 解説では --------------------------------- 引く数 010 の補数を求めると 101 なので  111 +101 -------- 1101  ↓  101 よって桁上がりを無視した 101 が答え --------------------------------- との事ですが疑問に思うことがいくつかあります。 I. 上記の計算では3ビットであることが前提になっています。 7 - 2 = 5 をしたいわけですから、そうすると  111 ←符号なしの表現 ( 7 ) +101 ←符号付きの表現 ( -2 ) -------- 1101  ↓  101 ←符号なしの表現 ( 5 ) となり、符号なしと符号付きの数値を混ざってしまうが、良いのでしょうか? また、この説明の仕方だと答えが 0~7 になる答えしか出せません。つまり引く数の方が大きいと計算できません。 私は補数を使うのであれば正の値・負の値、全て符号付きの値でなければいけないと思っていたので、 もし私が説明するのであれば全て符号付きにし、そして符号付きで7を表せるようにするために4ビットにして  0111 ←符号付き( 7 ) +1110 ←符号付き( -2 ) ---------- 10101  ↓  0101 ←符号付き( 5 ) とするのであれば納得できます。 答えの範囲も -8~7 と負の値も許容できます。 II. 実際には 本のように引く数だけを補数にして足し算をして答えを求めているのか、 それとも私のように正の値・負の値、ともに符号付きの表現にして足し算をしているのか、 もしくは、いずれとも違うのか、どうなのでしょうか? また、参考文献などがありましたらご紹介お願いします。 以上ですがよろしくお願いします。

  • 二桁の引き算が苦手でやりたがらない息子

    小学一年生の息子が、最近算数の問題をしたがらなくなり困っています。 これまで算数のテストはほぼ100点ばかりで、たまーにうっかりミスが一つ・・・という状況でした。 本人も「国語は字をもっと丁寧に書いてって言われるからヤだけど、算数は好きだ」といっていたのであまり親が気をつけて教えることもなかったのです。 しかし先月当たりからどうも算数の宿題をやりたがらず、酷いときにはわざと忘れて学校に行ったりしているので聞いたところ「このごろ計算が難しい。12-6とか13-5とかいちいち指使ってやらないといけないからめんどくさい」とふて腐れています。 「じゃあ12-6がすぐにでなかったら12の10から6引いて4でしょ。4+2=6って方法で答えを出してみて」と教えても、「そんなやり方だめだもん。ちゃんと12からひかないといけないんだもん」というばかりで聞こうとしません。 いまは私が手伝って数字を指で作っていますが、時間も凄くかかってしまい先が思いやられます。 二桁の引き算で一の位が引く数より小さい場合、子供になんと教えてあげれば理解しやすいのでしょうか? よろしくご指導のほどお願いいたします。

  • 初心者です

    プログラミングについては全くと言っていい程知識を持っていないので 本当に恐縮なのですが質問させて頂きます。 例えば数値解析をする時など、自分でプログラムを作って計算する事もあると聞きました。 BASICやJAVA、C言語などプログラミング言語には様々な物があると思うのですが 初歩的なプログラミング言語の解説書を見てみても それをどの様に(何を使って)作るのか、何に使えるのかがよく分かりません。 (ちなみに私の知識はJavascriptが少し扱える程度です) どなたかご解説頂けませんでしょうか。宜しくお願い致します。

  • 不等式の問題で質問です。

    2/15と19/32の間にあって分母が17である分数の個数は何個か? 解説を見てもいまいちよくわかりません。 特に分数の引き算をするときなぜか対角線上に数字を掛けるところ。 分母が17のものを見つけるのに、最後単純に10-2をして終わります。解説にXは自然数なのでとありますが、分母が17ならば自然数ではないのでは?と思います。 数学が苦手なのもので、すいませんが上記の2点の事についてわかりやすく教えて下さい。計算過程を省略して話してわかりにくいかもしれませんが宜しくお願いします。

  • ジュニアサッカースクール

    現在小学4年生の息子は5歳になる少し前からサッカースクール(民間会員制)でサッカーを始め、小学生になってから地元のサッカーチーム(少年団)に入っています。 息子は好きで続けたサッカースクール(週2~3回)とチーム(週2回)で頑張っていて、そこそこ活躍出来ていたので目標の地域のトレセンに今年挑戦しました。 しかしすべて落ちました。(同じ位のレベルの子はみな受かりました。) 基本プレーが正確でなかったり、声が出ていない、アピール出来ていない・・ 色々と考えられます。 本人の努力しかないと思いますが、やはり登録チームは変えないとしても サッカースクールを変えてみてもいいのではないかと思うようになりました。 今のスクールは子ども達に課題を与えコーチは見ているだけのことが多く最後にまとめて話で指導する・・という感じです。どこのスクールもこのような感じなのでしょうか? もっとコーチが手とり・足とりと見せて指導してほしいです。 東京(出来れば都下も)に評判の良いサッカースクールをご存じではないでしょうか? よろしくお願い致します。

  • 化学IIポリペプチドの分子量の計算にて

    GとAのアミノ酸がそれぞれ1.0*10^4個ずつ縮合重合したと考えられるポリペプチドの分子量はいくらか。またペプチド結合の数はいくつか? という問題がありました。 グリシンとアラニンの結合は(それぞれのアミノ酸の数をnとすると) 2n-1より 2*1.0*10^4-1≒ 2*10^4個で問題の答えと合っていたのですが分子量の方で質問です。 縮合重合よりH2Oがその結合数分だけ分子量から引き算するという考えで G:75 A:89の分子量とすると 1.0*10^4*(75*89) - (2*1.0*10^4 -1)*18 ・・・(1) としたのですが ここで解説だと この(1)の計算式は近似を使って 1.0*10^4(164-36+1) となっていました。 この最後の1の意味がわかりません。式中だと18をかけているのにそれをどうして1と近似するのか。そもそも結合数の計算では1は数に数えるまでもないという近似をしているのにこの式ではなぜ +1という式が上記の式から導けるのでしょうか。 ご指導お願いいたします。

  • 無能な指導者・会社の先輩・後輩について。

    無能な指導者・会社の先輩・後輩について。私は人生で一度も尊敬できる・有能な指導者・会社の先輩・後輩に接したことがありません(教員・上司・先輩・同僚)。 そして、こういう人たちが私たちの人生を左右すると言っても過言ではないように思えますが、皆さんはどう思いますか? またそういう人と接する時どうしますか? スポーツ選手も指導者がものを言うと思いますし、 職場でも上司が無能で糞な場合これからずっと続きます。 教員も糞にあたると、内容が理解できない、勉強がつまらなくなる、興味が薄れる、点数が上がらないなどあります。 先生を変えると急激に変わることが茶飯事です。 よく指導者・人に期待を要求をするのではなく、自分自身の力で向上心を持って努力してカバーしろというような発言をする方がいますが、本当に右も左も分からない人が最低限の指導などさえも受けず努力で解決できるとは思えません。 そう考えると、私も無能な指導者、上司、先輩にしか当たっていないため、無能な人間になってしまったのではないかと思うときもあります。私が思う、私が経験した無能指導者、会社の上司、先輩です。 <無能な教員の例> ◇教え方が下手、図解を交えて説明できない ◇人に教える教え方をしていない ◇博識をひけらかすだけで終わっている ◇受講者のレベルに合った授業を出来ない。例えば、イロハもわからない人間に当然分かってるかの前提の授業をする ◇順序立てて説明できない <無能な上司や先輩、同僚の例> ◇声が小さい ◇しゃべり方が高圧的、完全な上から目線 ◇例えば仕事でトラブルやミスが発生した時、「お前があの時そうしたからだろ」みたいに無関係な責任を押し付ける ◇教え方や何を言ってるのか分かり辛い ◇女と男の指導の扱いが異なる ◇短気 ・声が小さくてなに言ってるか聞き取れない時に聞き返すと「ちゃんと人の話聞け」「集中力がない」とキレる ・一度教えただけで全て一気に覚えろといい、ミスると「昨日教えたよな?」「さっき言っただろ?」とキレる ・アレだよアレだよコレだよコレだって言ってるだろ というような感じで、名称などで言わない、そしてわからないと「何でそんなのも分からないんだよ」「鈍い奴だ」と キレる ◇一定のところまでしか仕事を教えてくれず、「自分から教えてください」と言っても、 「後で教える」「今忙しい」といって保留され、数ヶ月後に「なんでこんなことも教わってないの?」「 やる気ない の?」と言ってくる。 ◇教えて貰う人と仲良くないと教える気がない。 「仲良くもない人間から仕事教えて下さいってそれは一方的」「ただで仕事だけ教えてやるほど社会はそんな甘くない」と 考える人。仕事とプライベートを切り離して考えていない ◇妙にスピードや効率性を指摘してくる ◇仕事が終わったり、暇になってやる仕事がないのに、「やる仕事は山ほどある」と言う 実際はちょっとした雑務や簡単な清掃だけしかやることがない 補足 誤解があったようなので訂正いたします。私は教員と上司、先輩を同列に扱うことが意図ではないです。会社の話に関しては、どちらかというと、上記に挙げたような無能な上司とどう接触したら良いかのことが聞きたく質問しました。そして、指導に関しては、最低限の指導すらろくに教えられていないことを想定しています。私も流石に何から何まで手取り足取り教えてくれとは思っておりません。

  • 【仕事上の悩み】上司から先輩に教えて貰えるように努

    【仕事上の悩み】上司から先輩に教えて貰えるように努力しないといけないと言われましたが、仕事に必要な知識を先輩に教えて貰えるように努力するっておかしくないですか?いつも仕事で先輩だけ上司に仕事の横に付いて仕事のイロハを習っていますが、私は放置されているので仕事内容すら目の前で見れていないので仕事の出来に差が広がる一方です。なんですかこの会社の指導方法は。そして何も見たことがない手本がないのに出来ないと怒られるのです。謎すぎます。私も先輩の指導のもと1度手取り足取り習ったら出来るのに何も教えない上司や先輩の指導の会社の方針ってなんですか?

専門家に質問してみよう