回答編集履歴

2

表現変更

2021/06/26 14:38

投稿

ku__ra__ge
ku__ra__ge

スコア4524

test CHANGED
@@ -26,6 +26,6 @@
26
26
 
27
27
  渡された文字列が0x7fff以下かそうでないかで処理を分けている理由は、渡される4桁の16進数がマイナスの数値を「1の補数」で表現しているからです。
28
28
 
29
- 数値を表現する方法の詳細は割愛しますが、大雑把に言うと0x0000~0x7fffはそのままプラスの数値、0x8000~0xffffは0xffffが0、0xfffeが-1、0xfffdが-2、0xfffcが-3……のように解釈しています。
29
+ 数値を表現する方法の詳細は割愛しますが、大雑把に言うと0x0000~0x7fffはそのままプラスの数値、0x8000~0xffffはマイナスの数値(0xffffが0、0xfffeが-1、0xfffdが-2、0xfffcが-3……)として解釈しています。
30
30
 
31
31
  もし詳細な方法を理解したいのであれば「1の補数」や「2の補数」で検索してみてください。

1

追記

2021/06/26 14:38

投稿

ku__ra__ge
ku__ra__ge

スコア4524

test CHANGED
@@ -26,6 +26,6 @@
26
26
 
27
27
  渡された文字列が0x7fff以下かそうでないかで処理を分けている理由は、渡される4桁の16進数がマイナスの数値を「1の補数」で表現しているからです。
28
28
 
29
- 数値を表現する方法の詳細は割愛しますが、大雑把に言うと0x0000~0x7fffはそのままプラスの数値、0xffffは0、0xfffe-1、0xfffd-2、0xfffc-3……のように解釈しています。
29
+ 数値を表現する方法の詳細は割愛しますが、大雑把に言うと0x0000~0x7fffはそのままプラスの数値、0x8000~0xffffは0xffffが0、0xfffe-1、0xfffd-2、0xfffc-3……のように解釈しています。
30
30
 
31
31
  もし詳細な方法を理解したいのであれば「1の補数」や「2の補数」で検索してみてください。