- ベストアンサー
ビット幅について質問
byte型(-128~127)のビット幅は8ですが、これは、たとえば整数の5を表すときに、2進数8桁必要ってことですよね? ちなみに、整数5を2進数で表すとどうなりますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
「byte型(-128~127)のビット幅は8ですが、これは、たとえば整数の5を表すときに、2進数8桁必要ってことですよね?」というのは, たぶん何かを勘違いしてる. 「整数の5」はいったいどこから出てきたんだろう. 「byte型が 8ビット幅」ということは, 「byte型の値は 2進数 8桁で表わされる」ということだ. ここには「整数の5」は出てこないし, 「整数の 5 を表すのに何ビット必要か」というのは「整数の 5」の型に依存する.
その他の回答 (2)
- risataro419
- ベストアンサー率46% (60/130)
符号なし2進数 5=00000101 符号あり2進数 5=00000101 -5=11111011 ちなみに、考え方ですが・・・ 通常の2進数 0~255ですよね? これが、整数251の場合、2進数であらわすと「11111011」ですよね? これ、考え方は、 【符号なし】 1 1 1 1 1 0 1 1 ------------------------ 128 64 32 16 8 4 2 1 ビット(1)が立っている部分の--の下部の数字を加算してください。 すると、 128+64+32+16+8+0+2+1 =251です。 【符号なし】 ※128の部分が-128と置き換えます。 1 1 1 1 1 0 1 1 ------------------------ -128 64 32 16 8 4 2 1 → -128+64+32+16+8+0+2+1 =-5です。 符号ありの整数5を上記に当てはめると。 0 0 0 0 0 1 0 1 ------------------------ -128 64 32 16 8 4 2 1 → = 0 + 0 +0 +0 +0 +4 +0 +1 =5です。 なんとなくですが、わかりましたでしょうか? ちなみに、4bitであらわすと、8+4+2+1(符号なし)→ -8+4+2+1(符号あり)になります。
5なら2進数で101ですから、3ビットで済みますよね。 Windows の電卓で10進数2進数替えられますよ。