Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Быстрый ввод и вывод https://www.cyberforum.ru/ cpp-beginners/ thread924986.html
Добрый день. Прошу прощения за нубский вопрос, но все-таки... Хотелось бы узнать у гуру, какие операторы обеспечивают самый быстрой ввод и вывод в файл.
C++ Возможно ли работать с _CrtDumpMemoryLeaks() в MinGW?
_CrtDumpMemoryLeaks() может работать в mingw или это только для студии?
Шаблон функции, принимающей обычные массивы и объекты C++
Нужно чтобы функция одинаково хорошо принимала массив long и объект vector <string>, чтобы затем удалить повторяющиеся элементы, отсортировать и вернуть количество элементов в новом массиве. Как...
C++ Класс вектор Не могу разобраться с этим классом, прошу помощи и в объяснении(задание очень объёмное ещё), проблема с самим вектором тоже есть. Разработать класс вектор размерности n. Определить несколько... https://www.cyberforum.ru/ cpp-beginners/ thread924950.html
C++ список (в программе обнуляются указатели на структуры) https://www.cyberforum.ru/ cpp-beginners/ thread924942.html
здравствуйте помогите найти ошибку, при возврате указателя на структуру из функции в функцию майн он обнуляется, это меня сбивает с толку разве указатель не сохраняет значение это же всего лишь адрес...
C++ Определить пересекаются ли окружности и найти среди них уединенные(в истории не нашел( )
Окружности задаются координатами X,Y их центров и радиусами R. Датчик случайных чисел вырабатывает характеристики N окружностей. Определить, имеются ли среди этих окружностей три попарно...
Пошаговая Детализация C++
Как бы я сам учу пока паскаль , но вот надо сделать задание по сишке .Буду благодарен за любую подсказку . Задание : Матрицы вещественных чисел . Поменять столбцы с максимальными элементами.
C++ Функция замены Builder 6 На практику в одном из пунктов задания (нужно написать текстовый редактор) нужно выполнить процедуру поиска и замены. Поиск я реализовал, не могли бы вы помочь с заменой? Мб у кого-то есть готовая... https://www.cyberforum.ru/ cpp-beginners/ thread924922.html
C++ О чем задача? https://www.cyberforum.ru/ cpp-beginners/ thread924917.html
Не пойму некоторых начальных условий задачи. Особенно пунктов 40-43 с ветвлениями. Допустим А больше В, разница меньше 0 и выполняется комманда 4207 - заносится результат (А-В) в адресс 07. А...
C++ выделение памяти char* Подскажите пожалуйста как реализовать следующее: Человек вводит что-то с клавиатуры (строку и т.п.) И когда ему надоедает - нажимает enter - этим и завершает ввод строки. Проблема в следующем -... https://www.cyberforum.ru/ cpp-beginners/ thread924914.html
Evg
Эксперт CАвтор FAQ
21130 / 8146 / 628
Регистрация: 30.03.2009
Сообщений: 22,459
Записей в блоге: 30
18.07.2013, 18:20 0

Битовые операции

18.07.2013, 18:20. Просмотров 1553. Ответов 28
Метки (Все метки)

Ответ

Что-то мне кажется, что тут излишне сложные решения:

C
#include <stdio.h>
 
/* Оригинальная функция (для проверки) */
int func1 (int a, int value1, int result1, int result2)
{
  int b;
 
  if (a == value1)
    b = result1;
  else
    b = result2;
 
  return b;
}
 
/* Переписанная функция */
int func2 (int a, int value1, int result1, int result2)
{
  int b;
 
  /* Операция !x в Си всегда будет возвращать либо 1 (если x == 0),
   * либо 0 (если x !=0 ). Такой операцией мы легко вычислим признак,
   * равны между собой две переменные, или нет */
  int is_equal = ! (a - value1);
 
  /* А если на основании признака нужно вернуть первое или второе
   * значение, то это делается обычным взвешенным выражением,
   * коэффициэнты которого будут либо (1, 0), либо (0, 1) */
  b = is_equal * result1 + (1 - is_equal) * result2;
 
  return b;
}
 
int main (void)
{
  printf ("%d\n", func1 (5, 6, -1, 2));
  printf ("%d\n", func1 (5, 5, -1, 2));
 
  printf ("%d\n", func2 (5, 6, -1, 2));
  printf ("%d\n", func2 (5, 5, -1, 2));
 
  return 0;
}
Добавлено через 41 секунду
Ой я дятел.... условие невнимательно прочитал

Вернуться к обсуждению:
Битовые операции
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2013, 18:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Битовые операции
Здраствуйте, помогите, пожалуйста! Надо написать три функции, используя только битовые (для...

Битовые операции
Есть код signed int a = 10; a = !a; cout &lt;&lt; a; Выводит 0, объясните, почему??

Битовые операции
помогите написать программу в консоли... я вообще не знаю эту тему и не знаю ка делать... вот,...

Битовые операции
Здравствуйте! нужно решить задачу: в целом числе заменить младший бит старшего байта на 1 ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.