Проверка на четность
Я составил такую программу, проверяющую число на четность:
Код:
#include <iostream> Знаю, что алгоритм не очень хороший, и что его решить можно при помощи рассмотрения остатка от деления числа на 2, но все же, почему некорректно работает этот код? |
Ответ: Проверка на четность
half=number/2.0;
//хоть ты и упомянул про нелучшее решение, но: для проверки на чётность надо проверять младший бит |
Ответ: Проверка на четность
Значит, при делении integer на integer не может получиться double? Но тогда как быть в такой ситуации:
У меня есть переменная int a и int b. Они содержат какие-то числа, мне не известные. Надо узнать точный результат деления. В этом случае с помощью оператора static_cast преобразовывать a или b? Цитата:
|
Ответ: Проверка на четность
Цитата:
|
Ответ: Проверка на четность
Спасибо, понял.
Правда пока не до конца понятно, почему разработчики языка сделали этот нюанс. |
Ответ: Проверка на четность
Цитата:
|
Ответ: Проверка на четность
Цитата:
Код:
; 13 : if(i%2) |
Ответ: Проверка на четность
HolyDel, спасибо, но я до такого еще не дорос :)
|
Ответ: Проверка на четность
Цитата:
|
Ответ: Проверка на четность
кстати, результат компиляции на чём (компилятор) был препарирован?
|
Ответ: Проверка на четность
cl.exe
|
Ответ: Проверка на четность
>>double R=a/double(b);
нииспользовать приведения в C-style!! Код:
int b = 5; (ну ессно в арифметических выражениях нельзя доходить до маразма, но просто в памяти после приведённого примера, сломавшего мозг в своё время, всплывает отвращение к такому виду синтаксиса) |
Часовой пояс GMT +4, время: 07:46. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot