подскажите у меня есть таблица в ней числа, мне надо перенести с этой таблицы в другую 2 значения с битовой маской? непонимаю я в них? с примера 2 числа 1067254670,1609105408
есть кусок ява кода в котором я проверяю значения
java public static int getVariationId1(int augmentMask)
{
final int mask = 0b1111111111111111;
return mask & augmentMask;
}
public static int getVariationId2(int augmentMask)
{
final int mask = 0b1111111111111111;
return mask & augmentMask >>> 16;
}
910 (1067254670-число)
16285 (1067254670-число)
0 (1609105408-число)
24553 (1609105408-число)
как сделать тоже самое через запрос mysql?
MySQL: Операторы
mysql> SELECT 1067254670 & b'1111111111111111' val1,
-> (1067254670 >> 16) & b'11111111111111111' val2,
-> 1609105408 & b'11111111111111111' val3,
-> (1609105408 >> 16) & b'11111111111111111' val4;
+------+-------+-------+-------+
| val1 | val2 | val3 | val4 |
+------+-------+-------+-------+
| 910 | 16285 | 65536 | 24553 |
+------+-------+-------+-------+
1 row in set (0.01 sec)
Обрезку в нужное количество битов выполнять с помощью оператора AND либо (для ровно 1-2-3-4-8 байтов) с помощью CAST к соотв. типу.
Также всё то же можно выполнить и арифметическими операторами.
mysql> SELECT 1067254670 MOD 65536 val1,
-> 1067254670 DIV 65536 val2,
-> 1609105408 MOD 65536 val3,
-> 1609105408 DIV 65536 val4;
+------+-------+------+-------+
| val1 | val2 | val3 | val4 |
+------+-------+------+-------+
| 910 | 16285 | 0 | 24553 |
+------+-------+------+-------+
1 row in set (0.00 sec)
Тут даже старшие биты занулять не придётся.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем привет, работаю с cs cart и имею такой запрос
Помогите, пожалуйста)Вроде нет проблем, поля одинаковые, но не хочет связыватьПоследовательность правильная
Ошибка при создании пользователя
Задача такая - с помощью jax-запроса передать данные на обработчик, который с полученными данными в качестве аргументов вызовет функцию