Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Змееголовное: 13.06.17 09:14
Автор: Zef <Alloo Zef> Статус: Elderman
|
ААА. Срубил Добрыня голову Змею Горынычу, а у того вместо одной две выросло. Срубил Добрыня эти две головы, а вместо них выросло уже четыре. Добрыне стало интересно и он еще на протяжении двух часов издевался над бедной зверюшкой, пока та не стала похожа на веник.
BBB. Не.
Рассказывает Илья Муромец про бой со Змеем Горынычем: "Срубаю ему голову - на этом месте три вырастают. Срубаю три - вырастают семь. Срубаю семь - вырастают четыре. Полчаса рубил - никакой закономерности..."
CCC. Не так всё было! Срубил одну, выросло две, срубил две - выросло четыре, срубил четыре - выросло восемь!...срубил 16384 голов и сдох таки Змей! Ибо был он шестнадцатибитным!
DDD. Побойтесь Двоичного Бога! 65536! или тогда уж 14-и битный...
XXX. 65536 же!
YYY. Нет, там как раз всё правильно, если число голов 16-битное со знаком, то оно будет -32768 до 32767. Для знакового целого следующее число голов 32768 уже выйдет за пределы.
И 65536 не получится даже если программист Змея Горыныча не быдлокодил, а использовал беззнаковое целое, для беззнакового значения могут быть от 0 до 65535, там количество голов будет расти до 32768.
DDD. Нет, нет, почтеннейший! Вы же не порядковый номер "отделённой от туловища головы" считаете (да и "нулевая" голова, как-то не звучит, обидится - мало не покажется ), а количество. Так, что тут сугубо общее количество, даже если индивидуальные номера будут от 1 до 65536.
ZZZ. Когда я срублю первую голову, в счётчик занесу 1. Так?
В какой момент в счётчике окажется FFFF? Когда будет срублена 65535-голова.
На следующей произойдёт переполнение. Не совсем понятно, о чём народ спорит.
XXX. Это если изначально головы не было вообще. Если же она была, то она была "нулевой". Учитывая, что история без начальной головы не могла случиться в виду отсутствия предмета первоначального отрубания - значит при отрубании первой головы счетчик обнулился.
ZZZ. Это у вас нулевая, а счёт чего-то начинается с единицы, что годы НЭ, что головы. Даже если индекс вашей головы равен -10, её количество всё равно равно единице.
|
|
|