mitmit の回答履歴
全2件中1~2件表示
- 理・社の教科の勉強の仕方
この2教科が苦手なんです・・・; どちらも『覚えるだけ』という簡単そうな教科なの ですが、その『覚えるだけ』が私にはどうしてもできません;;期末も1週間前になり、かなりピンチです; 勉強の仕方・教えて下さい。
- byte[2] から int へ。
それぞれintの下位2バイトのビット列保持するbyte型配列の要素2つを int 形の整数に治したいのですがいい方法が思いつきません。例えば、 byte[0] = 0x01; byte[1] = 0x01; ならば、 00000000 00000000 00000001 00000001 で、256 + 1 = 257 byte[0] = 0x02; byte[1] = 0x10; ならば、 00000000 00000000 00000010 0000011 で、512+3 = 515 です。byteの値が0~127の場合は int n = byte[0] << 8 n = n | byte[1] という感じでいけそうなのですが、byte[0]が 0xFF のような負の値のときにint とのビット演算(もしくはシフト演算)で上位2バイト分も補数表記のためか全部1で埋まってしまい、上の方法はだめみたいです。 byte[0] = 0x01; byte[1] = 0xFF; のときは、 00000000 00000000 00000001 11111111 で、256+255 = 511 としたいのですが、場合わけをせずに求める よい方法はないでしょうか。