結局トピック最初の疑問の答えは、2進数を扱うコンピュータ上として ・ビット列(2進数表現)の最上位ビットは負数扱い ・負数は2の補数で表現 ・32bit幅(2^32)でmodulo(割り算の余り)で表現 ・0付近で負数と正数が連続してる などなど、いろんな結果で -1 となるような負数を表現できるけど、 どれもみんなが書いているとおりの技術的や数学的な考えがあって、その結果が負数を表す条件になっているような解釈でいろんな正解があるという感じだと思うのです。 ※学校卒業すると正解は必ず1つではないことがたくさんあるのです。 ちなみに今のところ現代のコンピュータを扱う限り、メモリ上はビット(0か1か)であり2進数表現になるので、3進数以上の話題はそこまで気にしなくてもよかったりもするので、 もっと数学的に考えたいとか2進数以外のコンピュータ作るんだって人向けな感じです。