Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
svfolder
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 15
#1

Поразрядное вычисление N+1

12.12.2009, 00:29. Просмотров 615. Ответов 2
Метки нет (Все метки)

Доброго времени суток всем форумчанам!

Хотел попросить помощи у разбирающихся в вопросе.
Сразу скажу, вопрос более чем просто нестандартен, поэтому прошу заранее, советы типа "проще сложить вручную столбиком" или вопросы типа "зачем такие ограничения" не давать.

Вопрос следующий:

Необходимо написать PHP-функцию c целочисленным аргументом AddOne(n), которая возвращает n+1.
Нельзя использовать следующие арифметические операции в теле функции: + - * / ++ -- += -=


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

Прошу помощи.

С Уважением Дмитрий.

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2009, 00:29
Ответы с готовыми решениями:

Поразрядное отрицание
В общем мне нужно посторить транслятор программ заданного языка, реализующий...

Поразрядные поразрядное И (&)
есть такой пример a%16 = a&(16-1) как преобразовать тогда тогда a%2, a%3, a%4,...

Поразрядное сравнение чисел
Здравствуйте. Нужно написать программу сравнения двух чисел размера N. Они...

Как сбрасывается бит? (поразрядное И)
Добрый день, Может кто-то подсказать как именно мы получаем код прописных...

Поразрядное вычитание чисел столбиком
Всем привет,можно пример поразрядного вычитания чисел?(столбиком)

2
manfeese
131 / 130 / 29
Регистрация: 04.01.2009
Сообщений: 415
12.12.2009, 01:28 #2
Вот на С++ Используй аналогию...

C++
1
2
3
4
5
6
7
8
9
10
11
unsigned AddOne(unsigned n)
{
  unsigned i=1;
  while (i)
  {
       n^=i;
       if (!(n&i)) i<<=1;
       else i=0;
  }
  return n;
}
2
svfolder
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 15
12.12.2009, 12:49  [ТС] #3
Огромнейшее Спасибо!

Все тоже самое на PHP, работает.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function AddOne($n){
    
    $i = 1;
    
    while ($i) {
        
        $n ^= $i;
        if (!($n & $i) ) {
            
            $i <<= 1;
            
        }else{
            $i = 0;         
        }
        
    }
    
    return $n;
}
Еще раз спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2009, 12:49

XOR и поразрядное или не работают
Собственно есть числа: 0011 0010 - bit_text==1(идём справа налево) 0100 0011...

Поразрядное сложение и вычитание чисел
Всем привет! объясните пожалуйста,нужно написать функции для поразрядного...

Зачем нужно поразрядное сравнение в VBA
Зачем нужно поразрядное сравнение в VBA? Приведите примеры практического...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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