質問するログイン新規登録

回答編集履歴

2

追記

2019/01/22 08:35

投稿

jimbe
jimbe

スコア13395

answer CHANGED
@@ -3,4 +3,6 @@
3
3
  (byte)( ~bycp + 1 );
4
4
 
5
5
  の結果は 17 ですので, 「現在出力されている値は 1 つめが 17 」というのはコードの動きとしては合っていると思います.
6
- この変換を外しては如何でしょうか
6
+ この変換を外しては如何でしょうか.
7
+
8
+ つまり「その当時は-の値だった」のが正しく, 「整数値を出すことに成功」したのは byte が signed(値範囲:-128~127) ではなく unsigned (値範囲:0~255) と思われていた勘違いからのコードの破壊だったと思います.

1

表現の変更

2019/01/22 08:35

投稿

jimbe
jimbe

スコア13395

answer CHANGED
@@ -1,6 +1,6 @@
1
- 0xEF は int として見ると 239 かもしれませんが, byte としてみると -16 です.
1
+ 0xEF は int として見ると 239 かもしれませんが, (signed) byte としてみると -16 です.
2
2
 
3
3
  (byte)( ~bycp + 1 );
4
4
 
5
5
  の結果は 17 ですので, 「現在出力されている値は 1 つめが 17 」というのはコードの動きとしては合っていると思います.
6
- このを外しては如何でしょうか
6
+ この変換を外しては如何でしょうか