Прист жж0т! о_О или WTF?
-
О_О
Хз почему... наверно АртМаней тру -
Прист хацкер
Флудит так, что форум глючитъ
-
вы это.. жертвы мне там, девственниц давайте что-ли.. смертные -__-
-
Развратный Прист., Оправдал свой ник
гг
-
Ещё раз объясняю. Так как над форумом извратились и сделали так, чтобы посты в оффтопике не добавлялись в счётчик, у приста счётчик был равен "0". Но, так как забыли сделать, чтобы при удалении постов в оффтопике счётчик не изменялся, то число 0 уменьшилось на единичку (а в последствии ещё на 2). Если от нуля отнять 1, то поучится, естетственно, -1. Но существует некая особенность двоичных чисел. В числе вида "100000010100010100010100" "минус" определяется крайним левым знаком. И такое число может быть интерпретировано как число без минуса-пляса (8471828), а может и как число со знаком (-83220). То есть, у приста сейчас 16777213 сообщений, или 111111111111111111111101 в двоичной системе, или FFFFFD в шестнадцатеричной, но это число так же является и десятеричным числом со знаком "-3". То есть, у Приста -3 сообщения, но из-за некорректной работы счётчика это число превратилось в 16777213.
-
Лис, а как ты объяснишь наличие одного сообщения в течении где-то двух недель перед этим ?)
-
а, кстати.. во зарядил О__О
-
@Лиc:
То есть, у приста сейчас 16777213 сообщений, или 111111111111111111111101 в двоичной системе, или FFFFFD в шестнадцатеричной, но это число так же является и десятеричным числом со знаком "-3".
Хм. Всегда был уверен что -3 в десятичной есть 1.11 в двоичной. В обратном коде 1.00. В доп.коде 1.01.
Лис В чем фишка? Просто то что ты написал противоречит всем арифметическим и логичиским основам ЭВМ. Или я где-то ошибаюсь? интересно даже стало.Можно конечно добавить нули перед разрядом, но тогда получится 1.0(0)11 или 1.0(0) или 1.0(0)01.
-
pashaz, а у нас число сообщений - 3 байта. Отрицательные НЕ предусмотрены.
забавно, но 000000(hex)-000001(hex)=FFFFFE(hex) -
Ego74, спс, тогда вроде понятней стало
действительно, забавно
-
ой, мя ошиблась адресом............... и след пропал, лишь пыль столбом
-
pashaz, двойные числа не имеют плавающей точки.. Что-то я не понял
ИлиEgo74 ужё всё объяснил? О.о
-
Откуда вы такие умные?О___о
-
а это фиксированная точка
ня
но кажется до меня дошло уже
000 = 000 дк
011 = 101 дк
000+101=11(1)01 уряно дык откуда 16777213 взялось? объясните нубу=(
Просто переглючило? -
pashaz, нубяра =_=
Пример:
Берем в десятичной системе число 1. Отнимаем 3. Получаем -2.
Теперь берем в двоичной системе: 0001, 0011.
-2 получаем так:- Берем 2: 0010
- Инвертируем. 1101
- Прибавляем 1.
- Получаем 1110.
- Смотрим: 1110 похоже очень на число 14. Но мы же знаем, что это на самом деле 1111111111111111 (...) 1110, что показывает "отрицательность" :mrgreen:
А так как отрицательных чисел на форуме нет, то некое отрицательное число из двоичного кода перевелось в положительное десятичного :mrgreen:
11...1110{2} = -2 {10}
Для форума 1110 {2} = 14 {10}Теперь понятно? :mrgreen:
-
Не знаю, что у вас там с точками.. Но в двоичных числах их нету. Хотя книжка по программированию матсопроцессора на полке лежит, там есть описание)) Хоть у нас тут и извращённые три байта, я объясню на примере одного байта
0 = 0000 0000
1 = 0000 0001
2 = 0000 0010
-1 = 1111 1111 = 255 = 1 0000 0000 - 0000 0001
-2 = 1111 1110 = 254 = 1 0000 0000 - 0000 0010Получается, что отрицательное двоичное число = разница вывернутого наизнанку положительного двоичного числа и единицы. Знак числа (+ и -) определяется крайним левым битом. Это сделано для удобства. Так, команда ADD (сложение двоичных чисел) не думает об этом последнем (или первом, если угодно) бите, она просто складывает числа. Пример: -1 + 2 = 255 + 2 = 1111 1111 + 0000 0010 = 1 0000 0001. Так как байт имеет всего восемь битов, то результат в нём уместиться не может, и крайний левый бит попадает во флаг cf. Этим можно отследить то, что результат выбился за пределы (255 + 2 = 257 > максимального беззнакового значения байта) Так же есть флаг of, регистрирующий переход единицы из предпоследнего разряда.. Но это вам знатьне положено
В случае Приста у него было 0 сообщений, отняли одно (или прибавили минус одно). Но -1 по совместительству равен и 255 (или 16777215, или 0xFFFFFF, или 111111111111111111111111 в случае, если число занимает три байта, как у нас на сервере). 0 + 111111111111111111111111 = 111111111111111111111111 = -1 = 16777215 = 0xFFFFFF. Но никто не стал следить за флагами cf и of, потому что число сообщений не может быть отрицательным
И вышло, что у Приста 16777215 сообщений, потом ещё два удалили, стало 16777213..
Что ещё не понятно?)
З.Ы. В микропроцессоре существуют всего две команды, которые учитывают крайний левы бит, или знак операнда. Это команды idiv и imul (деление и умножение чисел со знаком), которые существуют наряду с командами умножения чисел без знака div и mul
-
пхпББ весь дырявый как решето :evil:
Лиc, у меня препод по информатике в таком стиле излагал. Ничерта не понять, только путаешься еще больше -
3atoi4i, ну не объяснять же мне самые основы?) Попытайтесь использовать мозг)
-
Хорошо
-
Вообщем ясно, не надо было над оффтопом извращаться
А нельзя поставить счетчик на оффтоп отдельный. А на экран выводить Число сообщений = Число всех - Число из оффтопа ???
Или это сложно реализовать ???