Форум: Форум C++Разное
Новые темы: 00
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не пойму выражения i%j
 
 автор: Den*s   (10.10.2011 в 16:17)   письмо автору
 
 

Здравствуйте.
не пойму почему вот этот код выводит цифру 1

int i, j;
i = 1;
j = 2;
cout << i%j << "\n";


ведь 1/2 = 0,5
почему остаток в выводе равен единице, а не цифре 5
либо я не понимаю оператора %

  Ответить  
 
 автор: cheops   (10.10.2011 в 17:16)   письмо автору
 
   для: Den*s   (10.10.2011 в 16:17)
 

Нет этот оператор всегда возвращает целое число, т.е. 3/2 = 1.5, но целиком двоек в 3 только одна, т.е. 3 - (2 * 1) = 1. Тут тот же эффект 1 - (2 * 0) = 1.

  Ответить  
 
 автор: Den*s   (11.10.2011 в 12:20)   письмо автору
 
   для: cheops   (10.10.2011 в 17:16)
 

Хммм, думал что это дробная часть, а оказывается тут своя формула.
Интересный способ определения, целое число или дробное...
всегда делал что вроде этого

if ((int)i/j == (double)i/j) { ... }

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования