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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2012, 18:01   #1
NinjaNoob
Пользователь
 
Регистрация: 02.10.2012
Сообщений: 40
По умолчанию c++ побитовый сдвиг ошибка

Результат не высчитывается. При любых значениях переменных, результат равен 0.000.
Код:
 int i=0, j=0, k=0, l=0;
	float m=0;
	printf("i="); scanf_s("%f",&i);
	printf("j="); scanf_s("%f",&j);
	printf("k="); scanf_s("%f",&k);
	printf("l="); scanf_s("%f",&l);
	
	if (i>j+k<<1)
	{
		
		m = (i>>4) + j<<7-17 + k<<1- l>>5;
		printf("m=%.3f\n",m);
	} else {
		
		m = i>>4 + j<<7-17 + k<<1 + l>>5;
		printf("m=%.3f\n",m);
	}
	return 0;
}

Последний раз редактировалось NinjaNoob; 12.10.2012 в 18:07.
NinjaNoob вне форума Ответить с цитированием
Старый 12.10.2012, 21:40   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Для начала тип переменных i,j,k,l - целый, а пытаетесь ввести как float
Код:
	printf("i="); scanf_s("%d",&i);
	printf("j="); scanf_s("%d",&j);
	printf("k="); scanf_s("%d",&k);
	printf("l="); scanf_s("%d",&l);
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 12.10.2012, 23:06   #3
NinjaNoob
Пользователь
 
Регистрация: 02.10.2012
Сообщений: 40
По умолчанию

решение
Код:
 
setlocale(LC_CTYPE, "Russian");
	int i=0, j=0, k=0, l=0;
	int m=0;
	printf("i="); scanf_s("%d",&i);
	printf("j="); scanf_s("%d",&j);
	printf("k="); scanf_s("%d",&k);
	printf("l="); scanf_s("%d",&l);
	
	if (i>j+(k<<1))
	{
		
		m = (i>>4) + (j<<7)-17 + (k<<1)- (l>>5);
		printf("m=%d\n",m);
	} else {
		
		m = (i>>4) + (j<<7)-17 + (k<<1) + (l>>5);
		printf("m=%d\n",m);
	}
	return 0;
действительно, с типами данных была проблема
NinjaNoob вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
амперсанд и побитовый сдвиг Kukurudza Общие вопросы C/C++ 7 27.07.2011 01:08
Вывод побитовый преобразований EddieG Общие вопросы C/C++ 2 19.09.2010 17:18
Циклический сдвиг, ошибка вывода. Macb3th Общие вопросы C/C++ 2 30.03.2010 00:43
Побитовый сдвиг Belii09878 Помощь студентам 10 02.02.2010 14:46
C++ побитовый сдвиг KOLYTFR Помощь студентам 1 03.06.2009 22:42