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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2009, 11:07   #1
systemmind
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 41
По умолчанию DIV в С++

Всем привет. У меня такой вопрос. В Паскале есть такой оператор DIV, помоему, который находит количество делений одного числа на другое (например 7 DIV 2 = 3). Скажите, есть ли такой же оператор в С++ и как он прописывается?
systemmind вне форума Ответить с цитированием
Старый 25.06.2009, 11:12   #2
assasin
Форумчанин
 
Регистрация: 27.04.2009
Сообщений: 123
По умолчанию

int a =7;
int b = 2;
cout << a/b ; // получим 3, так как деление целочисленное
<= P.S. если я тебе помог нажми весы слева <=
assasin вне форума Ответить с цитированием
Старый 25.06.2009, 11:20   #3
systemmind
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 41
По умолчанию

))Да, это так, но если взять 64 и 2, то получим 64/2=32, а мне необходимо получить 6.

64 DIV 2 = 6

Это можно реализовать с помощью цикла, но выйдет слишком уж заморочено. Есть еще какие-нибудь варианты?
systemmind вне форума Ответить с цитированием
Старый 25.06.2009, 11:50   #4
Victor Deltorro
Пользователь
 
Аватар для Victor Deltorro
 
Регистрация: 24.06.2009
Сообщений: 17
По умолчанию

Есть хороший вариант.... написать свою собственную функцию )
Our span of life is brief, but is long enough for us to live well and honestly...
Victor Deltorro вне форума Ответить с цитированием
Старый 25.06.2009, 12:33   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Цитата:
Сообщение от systemmind Посмотреть сообщение
))Да, это так, но если взять 64 и 2, то получим 64/2=32, а мне необходимо получить 6.

64 DIV 2 = 6

Это можно реализовать с помощью цикла, но выйдет слишком уж заморочено. Есть еще какие-нибудь варианты?
У меня один вариант: определитесь таки что вам нужно. То нужно было целочисленное деление, а теперь уже двоичный логарифм понадобился (log2 (64) = 6).
pu4koff вне форума Ответить с цитированием
Старый 25.06.2009, 14:16   #6
systemmind
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 41
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
У меня один вариант: определитесь таки что вам нужно. То нужно было целочисленное деление, а теперь уже двоичный логарифм понадобился (log2 (64) = 6).

Да, мне нужен логарифм, я первоначально и рассматривал этот вариант, но для этого нужно подключать математическую библиотеку, которая много весит, если учесть то, что я пишу программу для микроконтроллера. В общем я выкрутился таким способом:

Код:
void division()
{
	int temp;
	
	temp=PINA;
	i_mas=0;
	while (temp>1) 
	{
	temp=temp/2;
	i_mas=i_mas+1;

	}
Как бы не хотелось цикл, но без него никуда))

Последний раз редактировалось Sazary; 25.06.2009 в 15:58.
systemmind вне форума Ответить с цитированием
Старый 25.06.2009, 14:18   #7
assasin
Форумчанин
 
Регистрация: 27.04.2009
Сообщений: 123
По умолчанию

а что ж вы div'а аналог требовали?))))
<= P.S. если я тебе помог нажми весы слева <=
assasin вне форума Ответить с цитированием
Старый 25.06.2009, 20:38   #8
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Код:
/* div example */
#include <stdio.h>
#include <stdlib.h>

int main ()
{
	div_t divresult;
	divresult = div (64,2);
	printf ("64 div 2 => %d, remainder %d.\n", divresult.quot, divresult.rem);
	return 0;
}
http://www.cplusplus.com/reference/c...y/cstdlib/div/
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 25.06.2009, 20:44   #9
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от systemmind Посмотреть сообщение
))Да, это так, но если взять 64 и 2, то получим 64/2=32, а мне необходимо получить 6.

64 DIV 2 = 6
64 div 2 это 32... откуда 6?
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 03.07.2009, 10:02   #10
systemmind
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 41
По умолчанию

Цитата:
Сообщение от __STDC__ Посмотреть сообщение
64 div 2 это 32... откуда 6?
В паскале, помоему, это именно так. 64 делите на 2 до тех пор, пока не получите 1. Количество таких делений и будет равняться 6. Т.е. 64 делиться на два шесть раз.. Во))
systemmind вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Растягивающийся DIV и толкающий в низ следующий DIV Суриков HTML и CSS 6 29.08.2008 12:01
scrolling в div mapkyxa HTML и CSS 3 05.06.2008 00:18
DIV в php nikleb PHP 3 21.11.2007 17:39