Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2010, 14:58   #1
Tanilita
Пользователь
 
Аватар для Tanilita
 
Регистрация: 17.11.2009
Сообщений: 29
По умолчанию Деление в С++

Есть ли в С++ операторы деления с остатком и без остатка, такие как в паскале div и mod ?
Tanilita вне форума Ответить с цитированием
Старый 25.02.2010, 15:08   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

/ и % .
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 25.02.2010, 15:45   #3
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Деление нацело делается обычным оператором "/", но тип обоих операндов должен быть целочисленный (char/short/int/long). Если ты делишь целые числа, но хочешь иметь дробный результат, один операнд нужно привести к float или double, например:

int a=1, b=2;
float c = (float)a / b;

Оператор "%" - полный аналог mod.
ds.Dante вне форума Ответить с цитированием
Старый 26.02.2010, 00:03   #4
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от ds.Dante Посмотреть сообщение
...тип обоих операндов должен быть целочисленный (char/short/int/long)
Немного не корректно
short и long - это не типы, а спецификаторы типов.
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 26.02.2010, 13:56   #5
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

То есть, по-твоему, неправильно говорить "переменная типа int"? Нужно "переменная спецификатора типа int"? :)
ds.Dante вне форума Ответить с цитированием
Старый 26.02.2010, 17:28   #6
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Нет =))
int - это базовый тип, как и float, double, char, то есть в Си их всего 4.
Так же есть 4 спецификатора типа: short, long, signed и unsigned, которые можно использовать с базовыми типами.
Так что говорить "переменная типа int" или "переменная типа long int" правильно =))
Но переменной, определенной просто со спецификатором, быть не может. Даже если мы в коде напишем "long a;" компилятор воспринимает эту переменную как long int, то есть при использовании любого спецификатора без явного указания типа, подразумевает тип int
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария

Последний раз редактировалось Blade; 26.02.2010 в 17:30.
Blade вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Деление |{ot Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 24.03.2009 01:50
Деление на ноль Bearw08 Свободное общение 26 18.03.2009 18:39
деление строки Joy Паскаль, Turbo Pascal, PascalABC.NET 3 24.01.2009 16:14
деление natasha Общие вопросы Delphi 6 22.01.2007 12:39