|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixЕще Почему тут true Код: c# 1. 2. 3.
А тут false Код: c# 1. 2. 3.
Почему для больших значений float нет разницы между 100000000 и 100000001 и т.п.Это магия, "типы точно не причем" Понятно что типы, но что-то я не найду объяснений. Начиная с какой величины считается значение бесконечным, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 15:28 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAпропущено... Ахаха. Вы продолжаете писать глупости. int (Int32) - это 32-разрядное целое число со знаком. 32-ой бит используется в качестве знакового бита (0 - число положительно, 1 - отрицательное). Как бы двоичное представление наглядно показывает, что i становится отрицательным на третьей итерации и цикл продолжается бесконечно. Да Вы не поняли в чем я запутался. Запутался в поведении for.Не вопрос. Обратимся к документации: for (Справочник по C#) . С помощью цикла for можно циклически выполнять оператор или блок операторов до тех пор, пока указанное выражение ( condition ) не будет являться false . Код: c# 1. 2.
condition в Вашем случае всегда true , следовательно body выполняется бесконечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 16:10 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixпропущено... Да Вы не поняли в чем я запутался. Запутался в поведении for.Не вопрос. Обратимся к документации: for (Справочник по C#) . С помощью цикла for можно циклически выполнять оператор или блок операторов до тех пор, пока указанное выражение ( condition ) не будет являться false . Код: c# 1. 2.
condition в Вашем случае всегда true , следовательно body выполняется бесконечно. Спасибо. Я давно разобрался. А по float можете что сказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 16:28 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
Более того: Код: c# 1. 2. 3. 4.
Выведет 10000. По поводу твоего вопроса. Берешь ближайшие к 100 000 000 степени двойки (это будет 2^26 == 67 108 864 и 2^27 == 134 217 728) и делишь "расстояние" между ними на 2^23 (23 -- это мантисса для float) == 8 388 608 делений; получаем, что каждое деление равно 8. Теперь: (100 000 000 - 2^26) / 8 == 4 111 392. Это число целое, т.е. искомое значение точно представимо во float (попадает в "деление"). А вот (100 000 001 - 2^26) / 8 == 4 111 392.125 и в деление не попадает, что приводит к округлению -- в данном случае, в меньшую сторону. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 16:28 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAпропущено... Не вопрос. Обратимся к документации: for (Справочник по C#) . С помощью цикла for можно циклически выполнять оператор или блок операторов до тех пор, пока указанное выражение ( condition ) не будет являться false . Код: c# 1. 2.
condition в Вашем случае всегда true , следовательно body выполняется бесконечно. Спасибо. Я давно разобрался. А по float можете что сказать?Лучше ссылку дам: " Что нужно знать про арифметику с плавающей запятой ". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 16:40 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixпропущено... Ну в данном случае типы точно не причем )))Ахаха. Вы продолжаете писать глупости. int (Int32) - это 32-разрядное целое число со знаком. 32-ой бит используется в качестве знакового бита (0 - число положительно, 1 - отрицательное). Как бы двоичное представление наглядно показывает, что i становится отрицательным на третьей итерации и цикл продолжается бесконечно. А почему тогда Int32.MinValue=-2,147,483,648 а Int32.MaxValue=2,147,483,647? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 16:57 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
ЕвгенийВskyANAпропущено... Ахаха. Вы продолжаете писать глупости. int (Int32) - это 32-разрядное целое число со знаком. 32-ой бит используется в качестве знакового бита (0 - число положительно, 1 - отрицательное). Как бы двоичное представление наглядно показывает, что i становится отрицательным на третьей итерации и цикл продолжается бесконечно. А почему тогда Int32.MinValue=-2,147,483,648 а Int32.MaxValue=2,147,483,647? :)Вот тебе 32 бита (32-й знаковый): 0000 0000 0000 0000 0000 0000 0000 Подумай :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 17:11 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
Бесконечный цикл: Можно бесконечно смотреть на огонь, как спорят мсу с хвостом, и как мурлычет консоль.. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 17:22 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixпропущено... Спасибо. Я давно разобрался. А по float можете что сказать?Лучше ссылку дам: " Что нужно знать про арифметику с плавающей запятой ". Это я еще три часа назад нагуглил. Оставил на почитать по дороге домой. Спасибо. То есть такая специфика с float характерна не только для .Net? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 17:26 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
ЕвгенийВskyANAпропущено... Ахаха. Вы продолжаете писать глупости. int (Int32) - это 32-разрядное целое число со знаком. 32-ой бит используется в качестве знакового бита (0 - число положительно, 1 - отрицательное). Как бы двоичное представление наглядно показывает, что i становится отрицательным на третьей итерации и цикл продолжается бесконечно. А почему тогда Int32.MinValue=-2,147,483,648 а Int32.MaxValue=2,147,483,647? :) Потому что 4 байта число, отрицательное и положительное может быть + 0. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 17:28 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
ORM-ы, домы, дао перетерли, взялись за задачку, которую джуниорам на первом тесте дают... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 17:28 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIORM-ы, домы, дао перетерли, взялись за задачку, которую джуниорам на первом тесте дают... Все в жизни циклично ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 17:35 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAпропущено... Лучше ссылку дам: " Что нужно знать про арифметику с плавающей запятой ". Это я еще три часа назад нагуглил. Оставил на почитать по дороге домой. Спасибо. То есть такая специфика с float характерна не только для .Net?Бинго! P.S.: что, сейчас в школах и институтах информатику не преподают? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 17:43 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixЕвгенийВпропущено... А почему тогда Int32.MinValue=-2,147,483,648 а Int32.MaxValue=2,147,483,647? :) Потому что 4 байта число, отрицательное и положительное может быть + 0.И? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 17:59 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixпропущено... Это я еще три часа назад нагуглил. Оставил на почитать по дороге домой. Спасибо. То есть такая специфика с float характерна не только для .Net?Бинго! P.S.: что, сейчас в школах и институтах информатику не преподают? Чего дерзкий такой? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 18:00 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAпропущено... Бинго! P.S.: что, сейчас в школах и институтах информатику не преподают? Чего дерзкий такой?Вообще я вопрос всем задал, а не конкретно тебе. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 18:04 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixпропущено... Чего дерзкий такой?Вообще я вопрос всем задал, а не конкретно тебе. Я первый из всех ответил, или надо сразу всем было ответить. Сомневаюсь что по базовой программе типы данных по битам разбирают ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 18:05 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAпропущено... Вообще я вопрос всем задал, а не конкретно тебе. Я первый из всех ответил, или надо сразу всем было ответить. Сомневаюсь что по базовой программе типы данных по битам разбираютПредставление различных чисел (целых и с плавающей точкой) в компьютерах. Куда уж базовей? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 18:07 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
У нас это было как в школе, так и на первом курсе института. Ну и при изучении ассемблера мы к этому возвращались. Вот и спрашиваю у тех, кто недавно закончил. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 18:08 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxixпропущено... Я первый из всех ответил, или надо сразу всем было ответить. Сомневаюсь что по базовой программе типы данных по битам разбираютПредставление различных чисел (целых и с плавающей точкой) в компьютерах. Куда уж базовей? В моем было...типы данных, размер памяти который занимают, как из одного формата в другой, системы исчисления. Больше не припомню. Всё зависит от преподавателя. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 18:10 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAУ нас это было как в школе, так и на первом курсе института. Ну и при изучении ассемблера мы к этому возвращались. Вот и спрашиваю у тех, кто недавно закончил. В школе изучали "школьный алгоритмический язык". Туфта короче. Препод... старый был, видимо с книжки читал. Ни о каких типах даже и не заикался. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 18:11 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxix, понятно. Ну значит читай MSDN, там и про знак написано, и про двоичное дополнение до двух ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 18:14 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
skyANAsaxix, понятно. Ну значит читай MSDN, там и про знак написано, и про двоичное дополнение до двух В MSDN тоже все относительно поверхностно (не во всем конечно). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 18:15 |
|
Почему бесконечный цикл?
|
|||
---|---|---|---|
#18+
saxixskyANAsaxix, понятно. Ну значит читай MSDN, там и про знак написано, и про двоичное дополнение до двух В MSDN тоже все относительно поверхностно (не во всем конечно).Ну что там поверхностно? "Значения Int32 представлены в 31 бите, 32-ой бит используется в качестве знакового бита. Положительные значения представляются в виде знака и величины. Отрицательные значения представляются в виде дополнения до двух." Читаешь, что такое дополнение до 2-х и как используется для представления чисел в компьютерах, и всё становится понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 18:22 |
|
|
start [/forum/topic.php?fid=20&msg=38743352&tid=1402491]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 333ms |
total: | 474ms |
0 / 0 |