回答編集履歴
3
追記
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
> 読み込んだbyteデータをリトルエンディアンで扱うための方法
|
13
13
|
|
14
|
-
ByteBufferを使ったらどうでしょうか?こんな感じ。
|
14
|
+
必ず2バイトずつ読み込むのであれば、逐次それをひっくり返すだけでもいいような気はしますが、敢えて何かしらJavaの機能を用いるのならByteBufferを使ったらどうでしょうか?こんな感じ。
|
15
15
|
|
16
16
|
```Java
|
17
17
|
ByteBuffer buf = ByteBuffer.wrap(b_first);
|
2
裏返しか
answer
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
```Java
|
6
6
|
× System.out.printf( "%04X", read_first );
|
7
|
-
○ System.out.printf( "%02X%02X", b_first[
|
7
|
+
○ System.out.printf( "%02X%02X", b_first[1], b_first[0] );
|
8
8
|
```
|
9
9
|
|
10
10
|
2回目のreadでは、b_secondには次の2バイトが入っているはずです。
|
1
修正
answer
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
> 「2byte読み込んだら次の2byteを読み込む」ための処理のコード
|
2
2
|
|
3
|
-
readメソッドを使ったときに読み込まれたデータが格納されるのは引数に指定したbyte配列の方であり、戻り値はreadメソッドで読み込めたバイト数が返ります。その取り扱いを勘違いしているだけでは。
|
3
|
+
readメソッドを使ったときに読み込まれたデータが格納されるのは引数に指定したbyte配列であるb_firstの方であり、戻り値はreadメソッドで読み込めたバイト数が返ります。その取り扱いを勘違いしているだけでは。
|
4
4
|
|
5
|
+
```Java
|
6
|
+
× System.out.printf( "%04X", read_first );
|
7
|
+
○ System.out.printf( "%02X%02X", b_first[0], b_first[1] );
|
8
|
+
```
|
9
|
+
|
10
|
+
2回目のreadでは、b_secondには次の2バイトが入っているはずです。
|
11
|
+
|
5
12
|
> 読み込んだbyteデータをリトルエンディアンで扱うための方法
|
6
13
|
|
7
14
|
ByteBufferを使ったらどうでしょうか?こんな感じ。
|