Разработка java | SEclub.org
Разработка java
Все новые
Всего сообщений: 7795
*
DDDENISSS
2 авг 2010 в 18:12
Malcolm, жаль что нет операции которая бы делала число положительным.
*
Alice Cooper
2 авг 2010 в 19:46
DDDEN!SSS, так умножай на -1.
*
Malcolm
2 авг 2010 в 20:21
Да зачем что-то умножать, ставь минус перед числом и все.
*
DDDENISSS
3 авг 2010 в 07:01
Alice Cooper, между поменять знак и сделать число положительным есть разница.
*
DDDENISSS
3 авг 2010 в 07:02
Я так понял если левый бит равен 1, то отсчет начинается с минимального значения т.е. к числу прибавляется минимальное значение. А если равен 0, то отсчет с 0. Так?
3 авг 2010 в 07:04 / DDDENISSS (1)
*
Malcolm
3 авг 2010 в 10:41
DDDEN!SSS, ну да, все верно. В беззнаковом случае после 127 (01111111) отсчет ведется так же до 255, а в знаковом перескакивает на -128 вместо 128 и дальше идет к нулю. Просто как бы получается, что диапазон чисел [10000000; 11111111] соответствует либо диапазону [128; 255], либо [-128; -1].
*
DDDENISSS
3 авг 2010 в 10:48
Значит когда я меняю знаковый бит на 0, то число изменяется так i -= minValue; но только если бит был равен 1. Если бит был 0, то ничего не меняется. Неужели дошло )))
3 авг 2010 в 10:50 / DDDENISSS (2)
*
Malcolm
3 авг 2010 в 13:44
DDDEN!SSS, если ты меняешь последний бит с 1 на 0, то это все равно, что ты вычитаешь 128 (в случае 8-битного числа).
*
KiFFiR
3 авг 2010 в 17:18
DDDEN!SSS, а зачем вообще такие заморочки? Неужели один оператор if настолько снижает скорость, что нужно искать альтернативы?
*
DDDENISSS
3 авг 2010 в 17:36
KiFFiR, если его для каждого пиксела вызвать, то да.. И просто интересно что можно оптимизировать.
*
Pavlus
3 авг 2010 в 17:56
DDDEN!SSS, num=(num"0xffffffff)+1; вот так вот меняется знак у извращенцев. а вобще можешь забить. if занимает один опкод, думаю лучше не сделать. Разве-что с многолетним опытом программирования на BrainFuck.
3 авг 2010 в 18:01 / Pavlus (2)
*
Malcolm
3 авг 2010 в 18:37
Pavlus, можно проще: num = (~num)++. Только num = -num действительно логичнее.
Для полноценного использования разделов сайта войдите или зарегистрируйтесь.
Общие вопросы | Загрузки Seclub | Форум | Главная
18+ © Seclub.org 2003-2026