Как я могу заставить боковое меню слева оставаться на месте?
И так как оно останется на месте, как я могу гарантировать, что окна моего приложения не будут скрыты (частично) меню (то есть: их ширина должна соответствовать моему горизонтальному разрешению - ширина меню)?
Вспоминание о моих университетских днях, в большинстве представлений машины, не является крайним левым битом целого числа 1, когда число отрицательно, и 0, когда это положительно?
я предполагаю, что это довольно машинно-зависимо, все же.
Принятие 32 битов ints:
bool same = ((x ^ y) >> 31) != 1;
Немного более краткий:
bool same = !((x ^ y) >> 31);
(integer1 * integer2)> 0
, поскольку, когда два целых числа совместно используют знак, результат умножения всегда будет положителен.
можно также сделать его> = 0, если Вы хотите рассматривать 0 как являющийся тем же знаком несмотря ни на что.
интервал same_sign =! ((x>> 31) ^ (y>> 31));
, если (same_sign)... еще...
если (a*b < 0) знак отличается, еще подпишитесь, то же (или a, или b является нулем)
Просто первое, что пришло на ум...
int mask = 1 << 31;
(a & mask) ^ (b & mask) < 0;
(a ^ b) >= 0
оценит к 1, если знак будет тем же, 0 иначе.
Я не действительно уверен, что рассмотрел бы "поразрядный прием" и "самый простой" быть синонимичным. Я вижу много ответов, которые принимают 32-разрядные целые числа со знаком (хотя это было бы быть глупым попросить неподписанный); я не уверен, что они относились бы к значениям с плавающей точкой.
кажется, что "самая простая" проверка должна была бы выдержать сравнение, как оба значения выдерживают сравнение с 0; это - довольно универсальное предположение, что типы могут быть сравнены:
bool compare(T left, T right)
{
return (left < 0) == (right < 0);
}
, Если знаки противоположны, Вы получаете ложь. Если знаки являются тем же, Вы становитесь верными.
Как техническое примечание, разрядно-извилистые решения будут намного более эффективными, чем умножение, даже на современной архитектуре. Это - только приблизительно 3 цикла, которые Вы сохраняете, но Вы знаете то, что они говорят о "сохраненном пенсе"...
Следуйте этим инструкциям. Они были записаны для Аккуратного, но должны относиться Сновещательный также. Страница имеет полезные снимки экрана.
Это - та же процедура как хороший ответ Azendale, представленный по-другому. Таким образом, в случае, если и связанная страница и тот ответ становятся недоступными:
compizconfig-settings-manager
.Ваши окна приложения не должны быть скрыты меню - это просто будет, как будто у них есть меньше экранного пространства для занятия.