& поразрядное логическое и оператор - Он выполняет операцию на 2 целочисленных значениях.
WHERE (sc.Attributes & 1) = 0
вышеупомянутые проверки кода, чтобы видеть, если кв/см. Атрибуты являются четным числом. Который совпадает с высказыванием, что первый бит не установлен.
из-за названия столбца, хотя: "Атрибуты", тогда эти "1" значение является, вероятно, просто некоторым флагом, который имеет некоторое внешнее значение.
распространено использовать 1 двоичную единицу информации для каждого флага, сохраненного в числе для атрибутов. Таким образом для тестирования на первый бит Вы используете кв/см. Attributes& 1, для тестирования на второе Вы используете кв/см. Attributes& 2, для тестирования на третье Вы используете кв/см. Attributes& 4, для тестирования на четвертое Вы используете кв/см. Attributes& 8...
= 0 частей тестируют, чтобы видеть, не установлен ли первый бит.
Некоторые двоичные примеры: (== для показа результата операции)
//Check if the first bit is set, same as sc.Attributes&1
11111111 & 00000001 == 1
11111110 & 00000001 == 0
00000001 & 00000001 == 1
//Check if the third bit is set, same as sc.Attributes&4
11111111 & 00000100 == 1
11111011 & 00000100 == 0
00000100 & 00000100 == 1
За исключением загрузки файлов, значения всегда являются строками или массивами.
Я полагаю, что в случае загрузки файлов поля 'error'
и 'size'
будут иметь значение ints
.