最上位ビットは符号ビットじゃないです。もし符号ビットだったら &h80000000=-0 になる。 十進数表記というのは 321 = 3*10^2 + 2*10^1 + 1*10^0 と解釈される。各桁の数字は 10 のべき乗(これを重みと言ったりする)の係数として解釈されるわけ。 二進数表記の場合はも同じで &f = &b1111 = 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0 = 8 + 4 + 2 + 1 = 16 と解釈されます。 符号付 4bit 整数として解釈するときは、最上位の重みを (-(2^3)) とする。 &f = &b1111 = 1*(-(2^3)) + 1*2^2 + 1*2^1 + 1*2^0 = -8 + 4 + 2 + 1 = -1 符号付 32bit 整数として解釈する場合、最上位ビットの重みを (-(2^31)) とするんだドン。