bitwise-operators- все статьи тега
Что означает двойная Тильда ( ~ ~ ) в Java?
при просмотре исходного кода Guava, я наткнулся на следующий кусок кода (часть реализации hashCode для внутреннего класса CartesianSet): int adjust = size() - 1; for (int i = 0; i < axes.size(); i++) { adjust *= 31; adjust = ~~adjust; // in GWT, we have to deal with integer overflow carefully } int hash = 1; for (Set<E> axis : axes) { hash = 31 * hash + (size() / axis.size() * axis.hashCode()); hash = ~~hash; } hash += adjust; return ~~hash; и adjust и hash are i ...
Это хорошая практика, чтобы использовать оператор XOR для логических проверок?
мне лично нравится эксклюзивный или,^, оператор, когда это имеет смысл в контексте булевых проверок из-за его краткости. Я предпочитаю писать if (boolean1 ^ boolean2) { //do it } чем if((boolean1 && !boolean2) || (boolean2 && !boolean1)) { //do it } но я часто путаю взгляды других опытных разработчиков Java (а не только новичков), а иногда и комментарии о том, как он должен использоваться только для побитовых операций. мне любопытно, как лучшие практики в отношении и ...
Удалить флаг краски в Android
мой код выглядит так: TextView task_text = (TextView) view.findViewById(R.id.task_text); task_text.setPaintFlags( task_text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); это вызывает удар через эффект, чтобы появиться на тексте. Однако я хотел бы знать, как удалить флаг после установки и как определить, что флаг установлен. Я понимаю, что это побитовая операция, но я пробовал и ~ и - операторы, ни одна из них не работает. ...
практическое применение побитовых операций [закрыто]
для чего вы использовали побитовые операции? почему они так удобно? может кто-нибудь порекомендовать очень простой учебник? ...
Что значит 'х
что означает 'x Я понимаю, что побитовое SHIFT операции это: x << y AS x * 2y и Тильды ~ оператор: ~x AS -(x+1) Итак, я предполагаю следующее: 5 << ~3 AS 5 * 2-4 or 5 * Math.pow(2, -4) это должно привести к 0.3125. но, когда я запускаю 5 << ~3 в результате 1342177280. что такое пошаговое объяснение? Как и почему эта комбинация операций приводит к 1342177280 вместо 0.3125? (этот вопрос похож на вопрос переполнения стека что такое побитовые операторы? о побитовый SHI ...