3

Использование -1 озадачивает меня. Я бы ожидал, что значения будут:

  • НЕТ -> 0
  • ДА -> +1

Есть ли историческая причина использования -1 вместо +1?

1 ответ1

5

Как обсуждалось здесь при переполнении стека, значения Yes/True отображаются в Access как -1, потому что

  • Поля Yes/No в 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-битного), если 0 - No/False тогда единственное другое значение, доступное для Yes/True - -1.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .