• ベストアンサー

二進数

2進数100110101000は10進数16で割り切ることができるか。 という問題ですが、2進数を10進数に変換することなく、解く方法はありますか。

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

  • ベストアンサー
noname#231223
noname#231223
回答No.6

10進数16で割るというのがミソです。 10進数16は、2進数で10000ですから、これで割り切れる数がわかればいい・・・ 10000に何を掛けても右4ビットは0ですよね? よって、右4ビットが0000なら割り切れる、そうでなければ割り切れないと判断できます。 問いは、右4ビットが1000なので「割り切れない」。

Raracccc
質問者

お礼

皆さま沢山の回答ありがとうございました。 一つ一つ大事に読ませて頂きました。 大切なお時間頂き感謝いたします。

その他の回答 (6)

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.7

>こんなかんたんなはなしはありませんよ。 >16というのは2進で1000です。これで割り切れるということは、 >1000というパタンが繰り返されているものしかありません。 >100010001000・・・のようなものでない限り1000で割り切れるわけがないのです。 この回答はあまりにひどい。

回答No.5

16は2の4乗ですね。 元の値を2で4回割ってやれば解ります。 二進数なので、1回2で割ると小数点が一つ左へ動くので、 100110101000÷2=10011010100.0 10011010100.0÷2=1001101010.00 1001101010.00÷2=100110101.000 100110101,000÷2=10011010,1000 4回割った結果、少数以下が0でないので割り切れないと解ります。

  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.4

こんなかんたんなはなしはありませんよ。 16というのは2進で1000です。これで割り切れるということは、1000というパタンが繰り返されているものしかありません。 100010001000・・・のようなものでない限り1000で割り切れるわけがないのです。

  • f272
  • ベストアンサー率46% (8026/17154)
回答No.3

例えば10進数2,304,000は10進数10,000で割り切れるかと聞かれたら,10進数2,304,000の右側から0を4個落とせるかどうかを考えますよね。これと同じです。 2進数100110101000を10進数16の場合には,このままではよくわかりませんから,2進数を10進数に変換するか,10進数を2進数に変換する必要があります。 10進数16を2進数10000に変換する方が簡単ですから,こちらで考えます。 2進数1001 1010 1000は2進数1 0000で割り切れるかは,2進数1001 1010 1000の右側から0を4個落とせるかどうかを考えます。答えは4個は落とせないので,割り切れません。

  • SPROCKETER
  • ベストアンサー率26% (2032/7594)
回答No.2

 実は簡単です。  1001|1010|1000 (9A8H)  となるので、ビット列を右に4ビットシフトした時に、キャリーが1になるのを判定すればわかるが正解です。  プログラムでは右シフトを4回実行して、キャリーが1回以上1になるかを判定することで、16で割り切れるかどうかを判断します。右シフト4回は16で割るのと同じ意味になります。一度もキャリーが1にならなければ16で割り切れます。

回答No.1

  100110101000 ***********↑ 右から4番目は10進数で「8」です 5番目が「16」でそれより左は16の倍数だから16で割れますが、8は16で割れない だから、答えは「割り切れない」  

関連するQ&A

  • 8進数から2進数に変換の

    8進数223を2進数に変換したいのですが、 まず223を10進数に変換(2×8^2+2×8+3×1=147)→それから2進数に変換→答えは10010011 という方法しかないのでしょうか? 10進数に変換せず、直接2進数にする方法はあるのでしょうか?

  • 2進数を

    2進数を10進数に変換する、または16進数を10に変換、などの計算方法がどうもわかりません。 ものすごく簡単に覚える方法ってありますか

  • 2進数・10進数・16進数

    過去ログみてもよく分からなかったので質問します。 題名の通り 2進数→10進数(逆に10進数→2進数)などといったような変換ができません。1学期に授業でやったのですが授業プリントなくしてしまい・・・ 例えば(教科書見ながら書いてます) (1)2進数「0010」がどうして10進数で「2」なんですか(計算方法教えてください?? ↑2進数「0010」を色々計算して「2」を出したような気がします。 (2)16進数から2進数への変換も計算方法を教えてください。 例:16進数「C」がなぜ2進数「1100」なんですか?

  • 2進数について

    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 以上です。よろしくお願いします。

  • 2進数をの乗数?を16進数に直すやり方を教えてください

    2進数の掛け算を16進数に変換する方法を教えてください。 (1011 1111 0101)×(0011)というものです。 これは、 (11 15 5)×(3)で、 11155×3=33465→これを16進数に変換する つまり、16で割っていけばよいのでしょうか? 無知なものですいません。 よろしくお願いします。

  • 10進数から2進数への変換

    初級シスアドを勉強している者です。10進数から2進数に変換する方法で2で割っていく方法は知っているのですが、解くのに時間がかかってしまいます。もっと早く変換できる方法はありませんか?

  • 16進数を10進数に変換する方法...

    お初にお目にかかります(^^) 簡潔に質問しますm(_ _)m バージョン:MS-Visual Basic6.0 質問内容: 16進数を10進数に変換する方法がわかりません。 Hex(Text1.Text) や Oct(Text1.Text) のような方法で 16進数・8進数に変換できるんですが… 10進数に変換する方法がわかりません。 P.S できれば、16進数→10進数、16進数や10進数→2進数 …に、変換する方法も、よろしければ教えてくださいませ m(_ _)m

  • 16進数を10進数に・・・・

    16進数の3Eを10進数に変換すると、 62になりますが、その計算方法を教えてください!!!

  • 10進数の数字列を二進数に変換する

    10進数の数字列"1234"を16進数に変換すると04D2となる と問題集に書かれていたのですがどのように求めているのでしょうか。 ちなみに、問題ではJISの文字コードで一旦変換してから二進数に 変換していましたがいまいち理解できませんでした。 1234ならば 1→0031 2→0032 3→0033 4→0034 と一旦変換して 04D2を求めていました。 よろしくお願いいたします。

  • 16進数を10進数に変換について

    16進数を10進数に変換について 今、情報処理の勉強をしていますが、 16進数を10進数への変換にてつまずいています。。。 以下、ご存じの方 お教えください。 16進数:ABCDを10進数に変換する方法が全くわかりません。 参考書をみても 理解ができない方法でした。 参考書の記載は以下でした。 ---------------------------------------------------    重| 16^3   16^2  16^1  16^0    み| 2^12    2^8   2^4   2^0      | 4096   256    16     1  --------------------------------------------------- 16進数|  A      B     C      D   10*4096+11*256+12*16+13  =40690+2560+256+160+32+13  =43520+416  =43981 なぜ、16進数のAが2^12なのでしょうか? 分かりにくくすみません。。。 ご教授頂きたくよろしくお願いいたします。

専門家に質問してみよう