質問: microsoftaccessの「yes / no」値が-1と0にマップされるのはなぜですか? -1の使用は私を困惑させます。値は次のようになると予想していました。 いいえ-> 0 はい-> + 1 +1の代わりに-1を使用した歴史的な理由はありますか?
回答: stack overflow here で説明したように、yes/trueの値はaccessに-1として表示されます。 accessのyes/noフィールドはbitフィールドを模倣します。 accessのinteger値は署名されています、 2の補数 値、 no/falseは0で表され、 1ビット数の他の2の補数は-1だけです。説明のために、2の補数は次の値を持つことができます。 3ビット:bits integer ---- ------- 000 0 001 1 010 2 011 3 100 -4 101 -3 110 -2 111 -1 2ビット:bits integer ---- ------- 00 0 01 1 10 -2 11 -1 1ビット:bits integer ---- ------- 0 0 1 -1 bitフィールドの整数表現(つまり、1ビット)の場合、0がno/falseの場合、yes/trueに使用できる他の値は-1のみです。