-1 的使用让我感到困惑。我原本期望这些值是:
- 否 --> 0
- 是 --> +1
使用 -1 而不是 +1 背后是否有历史原因?
答案1
正如 Stack Overflow 上所讨论的那样这里,Yes/True
值在 Access 中显示为 -1,因为
Yes/No
Access 中的字段模拟bit
字段,Integer
Access 中的值是有符号的,二进制补码价值观,No/False
用 0 表示,并且- 1 位数的唯一其他二进制补码值是 -1。为了说明这一点,二进制补码数可以具有以下值:
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 位),如果No/False
为 0,则唯一可用的其他值Yes/True
是 -1。