|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Почему тут цикл бесконечный? Ответ "цикл бесконечный по определению - все значения int меньше или равны int.MaxValue." мне непонятен. Максимальное значение для int 0x7FFFFFFF. На втором шаге цикла будет то же значение ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:39 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
Потому что переполнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:43 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
НахлобучПотому что переполнение.+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:45 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxix, лень Console.WriteLine(i) добавить в тело цикла и посмотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:45 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
НахлобучПотому что переполнение. Вот это нормальный ответ. Но почему "цикл бесконечный по определению - все значения int меньше или равны int.MaxValue."??? Это можно считать правильным ответом? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:46 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxix, лень Console.WriteLine(i) добавить в тело цикла и посмотреть? Да я пробовал. И так попробовал Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Но вот ответ мне не понятен, который автор задачи предложил ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:47 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxix, представьте Int32.MaxValue в двочном виде и дайте правильный ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:49 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
Что бы произошел выход из цикла необходимо что бы i приняло значение int.MaxValue + 1, однако int не может принять такое значение, потому что "все значения int меньше или равны int.MaxValue" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:51 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixНо почему "цикл бесконечный по определению - все значения int меньше или равны int.MaxValue."??? Это можно считать правильным ответом?Для начала было бы здорово услышать формальное определение бесконечного цикла. Но интуитивно понятно, что условие "i <= int.MaxValue" для "int i" всегда будет истинным и поэтому условие выхода никогда не сработает. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:51 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxix, представьте Int32.MaxValue в двочном виде и дайте правильный ответ. 0x7FFFFFFF ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:51 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxix, Вот это ни на какие размышления не наводит? Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:53 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAsaxix, представьте Int32.MaxValue в двочном виде и дайте правильный ответ. 0x7FFFFFFF А, в двоичном будет 1111111111111111111111111111111 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:53 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAsaxix, представьте Int32.MaxValue в двочном виде и дайте правильный ответ. 0x7FFFFFFFПрикалываетесь? Это шестнадцатиричный вид. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:54 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
GrunchЧто бы произошел выход из цикла необходимо что бы i приняло значение int.MaxValue + 1, однако int не может принять такое значение, потому что "все значения int меньше или равны int.MaxValue" Все. Теперь понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:55 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixпропущено... 0x7FFFFFFFПрикалываетесь? Это шестнадцатиричный вид. Не дочитал. Поправил. Я просто не сообразил что for пытается счетчику ещё и maxvalue + 1 присвоить. Думал что на maxvalue все заканчивается ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:56 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixsaxixпропущено... 0x7FFFFFFF А, в двоичном будет 1111111111111111111111111111111Вот! 0111 1111 1111 1111 1111 1111 1111 1111 прибавляем единичку и получаем 1000 0000 0000 0000 0000 0000 0000 0000 или -2147483648, или Int32.MinValue То есть "все значения int меньше или равны int.MaxValue". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:56 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAпропущено... Прикалываетесь? Это шестнадцатиричный вид. Не дочитал. Поправил. Я просто не сообразил что for пытается счетчику ещё и maxvalue + 1 присвоить. Думал что на maxvalue все заканчиваетсяХватит глупости писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:57 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixпропущено... Не дочитал. Поправил. Я просто не сообразил что for пытается счетчику ещё и maxvalue + 1 присвоить. Думал что на maxvalue все заканчиваетсяХватит глупости писать. Ступил. Не посмотрел что сначала в for идет присваивание, потом только сравнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:58 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAпропущено... Хватит глупости писать. Ступил. Не посмотрел что сначала в for идет присваивание, потом только сравнение.У Вас пробелы в знании синтаксиса C# и типов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 15:01 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixпропущено... Ступил. Не посмотрел что сначала в for идет присваивание, потом только сравнение.У Вас пробелы в знании синтаксиса C# и типов. Ну в данном случае типы точно не причем ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 15:12 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
Еще Почему тут true Код: c# 1. 2. 3.
А тут false Код: c# 1. 2. 3.
Почему для больших значений float нет разницы между 100000000 и 100000001 и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 15:18 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixЕще Почему тут true Код: c# 1. 2. 3.
А тут false Код: c# 1. 2. 3.
Почему для больших значений float нет разницы между 100000000 и 100000001 и т.п. Считается что это бесконечность? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 15:20 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAпропущено... У Вас пробелы в знании синтаксиса C# и типов. Ну в данном случае типы точно не причем )))Ахаха. Вы продолжаете писать глупости. int (Int32) - это 32-разрядное целое число со знаком. 32-ой бит используется в качестве знакового бита (0 - число положительно, 1 - отрицательное). Как бы двоичное представление наглядно показывает, что i становится отрицательным на третьей итерации и цикл продолжается бесконечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 15:25 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixЕще Почему тут true Код: c# 1. 2. 3.
А тут false Код: c# 1. 2. 3.
Почему для больших значений float нет разницы между 100000000 и 100000001 и т.п.Это магия, "типы точно не причем" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 15:26 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixпропущено... Ну в данном случае типы точно не причем )))Ахаха. Вы продолжаете писать глупости. int (Int32) - это 32-разрядное целое число со знаком. 32-ой бит используется в качестве знакового бита (0 - число положительно, 1 - отрицательное). Как бы двоичное представление наглядно показывает, что i становится отрицательным на третьей итерации и цикл продолжается бесконечно. Да Вы не поняли в чем я запутался. Запутался в поведении for. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 15:27 |
|
|
start [/forum/topic.php?fid=20&tid=1402491]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
142ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 241ms |
0 / 0 |