10進数のある数を2進数に変換して
その2進数の4桁目がほしい場合ってどういう方法があるでしょうか?
たとえば350(10)を与えると101011110(2)で1という数字がほしいのです。
※()内の数字は基数とする。
10進数を2進数に変換する方法と
桁別の値を取得する方法を教えてください。
よろしくお願いします。
全く汎用性なく4桁目だけでいいなら
00001000 とビットごとのAndをとれば良いです。
(2進数なので0でなければ1です)
任意の桁ごとにほしいときはその定義のままに計算すればよいかと、
>10進数を2進数に変換する方法と
>桁別の値を取得する方法を教えてください。
>よろしくお願いします。
桁別の値を取得する方法なら
01010000の四桁目を調べたいなら
01010000 & 00001000 でどうでしょうか?
そのとおりです!
解決しました。
この方法だと
2進数に変換する必要もないですね
ありがとうございました。
古い質問ですがまたわからなくなったので教えてください。
例えば4桁目が1ということを調べたいならその方法でも良いのですが
4桁目が0というのを調べる方法っていうのはどうしたらいいでしょうか?
00010011 & 1110111 では当たり前ですがだめです。
0というものを調べる方法はないのでしょうか?
排他的論理和はどういう記述でしょうか?
!(01010000 & 00001000)ではどうです。
↓の質問に対する回答が漏れてました。
>排他的論理和はどういう記述でしょうか?
これ→^
桁には0と1しかないのですから、
「4桁目が1か?」を調べて1でなければ、0です。
