Кстате, почему, если байту сделать операцию " 0xff" число становится больше, а не только знак меняется? И не пойму как змак меняется, если у числа 0xff последний бит = 1. И у отрицательного числа последний бит = 1. А 1 на 1 даёт 1. И по-идеи число должно остаться отрицательным.
DDDEN!SSS, то есть изменить отрицательный знак на положительный? Но тебе ведь все равно нужно выполнять описанные действия, просто в определенных условиях. Последний (это последний, а не первый, кстати) бит-то ты сделаешь равным нулю, но это изменит не только знак, если оно было отрицательным. seclub.org/forum/goto/8598343/ - потому что последний бит перестает отвечать за знак. Когда ты выполняешь эту операцию, число расширяется до int, а в нем за знак отвечает бит 31, а не 7-й (если нумеровать с нуля). Число записывается так же (например, 11111111), но в переменной byte это будет представление числа -1, а в переменной int - 256. LPzhelud, а какой в этом смысл? Метод нужен, чтобы продолжить выполнение потока, застрявшего на методе вроде sleep(), но если это произошло, поток же не может выполнять одновременно и interrupt().
Malcolm, не поменять, а сделать положительным. Поменять это так: if(i<0) i= -i; а я хочю какой-то побитовой операцией сделать нужный бит равным 0, чтобы число стало положительным. Как это сделать? Кстате, эта "&" опирация у меня фпс не понизила в отличее от if которая снизила фпс на 5. Не понял какие описанные действия в каких условиях?
Не знаю почему, но если i &= 16383; то i будет не меньше 0 и не больше 16383, а это именно, то, что мне надо! вот upwap.ru/517922 интересно там можно, еще, как-то ускорить алгоритм ...
DDDEN!SSS, seclub.org/forum/goto/8602054/ - таким методом ты получишь случайное число в этом диапазоне. Интересный у тебя алгоритм. Нет, в диапазон-то ты загонишь, но что с ним дальше делать. Хорошо, вообще говоря, не случайное, конечно, но ближайшая граница интервала так явно не будет присваиваться. Допустим, у тебя в byte хранится значение -127, в битовом представлении - 10000001. Ну и что будет, если применить маску 7F (01111111)? Единица и получится, которая ни к селу ни к городу. P.S. По-моему, ты все-таки устраняешь не проблему, а симптомы. А это совсем не есть гуд. Так что я еще раз советую отладить алгоритм.
Malcolm, знать бы как его отладить. Пикселы выходят за приделы текстуры не часто, так, что это такое предохранение от таких случаев. п.с. Ты уже не болтливый спец :-). Это я тебя так задрал?
О, не думал что тут такая тема есть. Прочтитал пару книг, ща наверно возьму книгу которую рекомендует Malcolm В одной книге задолбался со змейкой, ниче почти не понял там в коде...
11 авг 2009 в 05:31
И не пойму как змак меняется, если у числа 0xff последний бит = 1. И у отрицательного числа последний бит = 1. А 1 на 1 даёт 1. И по-идеи число должно остаться отрицательным.