Освой самостоятельно С++ за 21 день - [275]

Шрифт
Интервал

Полученный бит переноса добавляется к следуюшему значимому биту. Это можно реализовать либо итеративным проходом через каждый бит, либо использованием рекурсии.

#include

unsigned int add( unsigned int lhs, unsigned lnt rhs )

{

   unsigned int result, carry;

   while ( 1 )

   {

      result = lhs ^ rhs;

      carry = lhs & rhs;

      if ( carry == 0 )

         break;

      lhs = carry << 1;

      rhs = result;

   };

   return result;

}

int main()

{

   unsigned long a, b;

   for (;;)

   {

      cout << "Enter two numbers. (0 0 to stop): ";

      cin << a << b:

      if (!a && !b)

         break;

      cout << a << " + " << b << " = " << add(a,b) << endl;

   }

   return 0;

}

В качестве альтернативного варианта эту проблему можно решить с помошью рекурсии:

#include

unsigned int add( unsigned int lhs, unsigned int rhs )

{

   unsignod int carry = lhs & rhs;

   unsigned int result = lhs * rhs;

   if ( carry )

      return add( result, carry << 1 );

   else

      return result;

}

int main()

{

   unsigned long a, b;

   for (;;)

   {

      cout << "Enter two numbers. (0 0 to stop): **;

      cin << a << b;

      if (!a && !b)

         break;

      cout << a << " + " << b << " = " << add(a,b) << endl;

   }

   return 0;

}


Рекомендуем почитать
Массовая литература сегодня

В пособии обсуждаются вопросы, связанные с историей массовой литературы, этапами ее изучения в России и на Западе, выявляются дифференциальные признаки массовой литературы, устанавливается ее место в литературном процессе и культуре, степень влияния на читательскую аудиторию, характеризуется язык текстов массовой литературы в проекции на языковую ситуацию рубежа XX–XXI веков. Особый раздел пособия посвящен филологическому анализу детектива, романа-боевика, фантастического романа, дамского романа, историко-авантюрного романа, популярной песни и некоторых других актуальных жанров массовой литературы.


Актуальные проблемы современной лингвистики

Предлагаемое пособие включает развернутую программу учебной дисциплины «Актуальные проблемы современной лингвистики», хрестоматию и систему заданий творческого и проблемного характера. Издание призвано обеспечить изучение цикла общелингвистических дисциплин: «Теория языка», «Общее языкознание», «Актуальные проблемы современной лингвистики», включенных в блок специальных дисциплин государственного образовательного стандарта по направлению «Филология», а также в образовательный стандарт подготовки магистров по направлениям «Филология» и «Языковое образование».Для студентов, магистрантов, аспирантов, преподавателей-филологов.6-е издание.


Общая психология

В предлагаемом учебном пособии в сжатой концентрированной форме изложен полный курс предмета «Общая психология». В книге рассматриваются базовые термины и понятия науки, основные подходы и методы исследования. Подробно описаны основные исторические этапы развития психологии, дана характеристика психологических школ и теорий.Компактная подача и доступное изложение материала, наглядный иллюстративный материал делают эту книгу незаменимой для студентов вузов, позволяют им сэкономить время и максимально быстро и качественно подготовиться к семинарам, зачетам и экзаменам по данному курсу.Для студентов и преподавателей высших учебных заведений, а также для всех, кто интересуется вопросами психологии.


Следственные действия: психология, тактика, технология

Книга посвящена правовым, психологическим и криминалистическим основам следственных действий как процессуальных способов доказывания по уголовным делам. Рассмотрены общая характеристика следственного действия, психологические условия и приёмы повышения их эффективности, даны рекомендации по подготовке и проведению отдельных видов основных следственных действий, регламентируемых ныне действующим УПК РФ.Для работников правоохранительных органов, студентов, аспирантов, докторантов, профессорско-преподавательского состава юридических учебных заведений.


Введение в славянскую филологию

В учебном пособии освещаются основные положения программы курса «Введение в славянскую филологию». Славянская филология — наука о культуре славянских народов в ее словесно-текстовом выражении. В пособии рассматриваются культурная история славянских народов, мифология древних славян, их бытовое устройство, старинная обрядность, особенности письменности, факты славянских языков во взаимосравнении, основные особенности славянских литератур (в частности, стихосложения) и т. п., а также деятельность крупнейших филологов-славистов.Для студентов, аспирантов и преподавателей филологических факультетов вузов.


Технология интервью

Данное пособие посвящено важнейшему разделу курса «Основы творческой деятельности журналиста» и в отечественной литературе аналогов не имеет. Книга задумана как практическое руководство для будущих журналистов. При этом автор учитывает опыт практикующих журналистов, а также российских и зарубежных коллег.Книга предназначена для преподавателей, аспирантов и студентов университетов и других учебных заведений, готовящих журналистов.