アプリ版:「スタンプのみでお礼する」機能のリリースについて

2進数の課題が出されました。足し算と掛け算は自力でわかったのですが、以下の問題がさっぱりです。誰かわかる方回答していただけるととても助かります。

【2進数の割り算】
10101÷11
110111÷101
【2進数の変換】
(1010101)を8進数、10進数、16進数に変換
(1011.01)を8進数、10進数、16進数に変換
【10進数を2進数に変換】
(53)の10進数を2進数に変換
(77.35)の10進数を2進数に変換
【最大桁数を8とする。2の補数を明記して2進数の引き算を足し算で】
10111010-1100111

以上です。よろしくお願いします。

A 回答 (4件)

足し算と掛け算が分かったならたいした者です。


後は、2進数のまま計算すると、こんなので10進数に変換したらよく分かります。
真数は、2進数が3桁づつ処理すれば出来ます。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2007/05/06 22:52

【2進数の割り算】


10101÷11
十進数に直せば
21÷3=7
ですが、+×が出来るとのことなんで筆算をしてみましょう
上から一桁づつ計算し、引けたら1、引けなかったら0と付けるだけの計算です
11)10101…1↓(←3桁目。上の段に1つけて101-11=10)
    1001…1↓ (←2桁目より上。1つけて100-11=1)
      11…1↓(←1桁目より上。1つけて11-11=0)
       0    

引けなくなるまで繰り返し、右の数字を上から読んだものが商、一番下に残るのが余りです。(ズレていますので気をつけて見てください)
今回は商111、余り0

110111÷101も同様に
101)110111…1 (←110-101=1)
      1111…0 (←11は101で引けないので0を付ける)       1111…1
       101…1 
         0
商は1011、余り0
問題は55÷5=11で正解です。
変換も筆算を使えますが、長くなるので再度投稿します。

この回答への補足

【10進数を2進数に変換】
の回答を記入し忘れたので追記します。
53の10進数 → 110101
77.35の10進数 → 1001101.011

77.35の10進数を2進数に変換すると、小数点以下の数字が無限となる為、零捨壱入(四捨五入?)としてみました。

補足日時:2007/05/06 23:07
    • good
    • 0
この回答へのお礼

わかりやすい回答ありがとうございます。
質問を投稿した後、再度挑戦してみたので考え方が間違っていないかお聞きしたいです(お礼欄に投稿する内容と違う気もしますが・・・)。
【2進数の割り算】
(1)111 (2)1011
【2進数の変換】
(1)125(8進数)、84(10進数)、55(16進数)
(2)13.2(8進数)、10.25(10進数)、B.4(16進数)
【最大桁数8桁の引き算】
101010100

と、考えたのですがどうでしょうか?
回答いただければ助かります。

お礼日時:2007/05/06 22:59

ANo.2の後半の計算がずれてました


101)110111…1 (←110-101=1)
      1111…0 (←11は101で引けないので0を付ける)
      1111…1
       101…1
         0

さて、変換はとっても簡単です。
まず答は
(8)125
(10)85
(16)55
です。

基本的には、下から2^0=1、2^1=2、2^2=4を順番に足していく事です。
何進数かで違うのは、どこで切り離して考えるか、です。
言葉はややこしいんでやってみます。

1010101

(8)八進数時は
001 010 101
と下から3桁ずつ分けます。(8は2の3乗だから)
001→1 (0+0+2^0=0+0+1=1 分かりますか?)
010→2 (0+2^1+0=0+2+0=2)
101→5 (2^2+0+2^0=4+0+1=5)
よって125になります。
(10)十進数は桁分けはいりません
1のある所だけ計算します。
2^6=64
2^4=16
2^2= 4
2^0= 1
全部を普通に足して85です。
これは、覚えておくと2進数の計算の検算もしやすく便利です。
(16)十六進数時は
0101 0101
と下から4桁ずつ分けます。(16は2の4乗だから)
0101→5 (0+2^2+0+2^0=5)
0101→5
よって55になります。

1011.01は小数ですよね?
でもやり方は一緒です
8はおいといて、まず10から
(10)
1011.010
8+0+2+1=11
0×2^-1=0×0.5
1×2^-2=1×0.25
0×2^-3=0×0.125
最後は細かく書きましたが、11.25だと分かると思います。

(8)と(16)は、小数以下は8と16をかける必要があります。
001 011 .01
1  3  0.25×8=2
よって13.2
1011 .01
B  0.25×16=4
よってB.4です
    • good
    • 0
この回答へのお礼

回答とわかりやすい解説ありがとうございます!!
2^0は0だと思っていました。
初歩的な部分の理解が足りませんでした(恥ずかしい限りです)。

お礼日時:2007/05/07 09:34

53正解です


77.35は確かに循環小数です
0101100110…0110の繰り返しでしょう
引き算は・・・惜しいです
さいしょの5桁はあってます。(一番上は消えますが)
2の補数表現は、1の補数+1です
1の補数は
 2…0000 0010
 1…0000 0001
 0…0000 0000
 0…1111 1111
-1…1111 1110
-2…1111 1101
と、0が二回出るので、2の補数を使うんです。+1すれば、
 2…0000 0010
 1…0000 0001
 0…0000 0000
-1…1111 1111
-2…1111 1110
となります。引くほうの数字の0→1、1→0で最後に1足すんです。
計算は、
 1011 1010
-0110 0111
↓↓↓
 1011 1010
+1001 1001
で、
1 0101 0011
最大8桁だから最上位は切られて消えます。
答は0101 0011です
    • good
    • 0
この回答へのお礼

重ね重ね、ありがとうございます。
最大8桁の場合最上位は切り捨てになるんですね。
お陰で課題を全て埋めることができました!!
本当にありがとうございました。

お礼日時:2007/05/07 09:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!