Задание № 5. При написании функций можно использовать только следующее:

При написании функций можно использовать только следующее:

- целочисленные константы;

- целочисленные аргументы функций и автоматические (локальные)переменные;

- операции ~ ! * + -(тип) sizeof <>& ^ | . Группы операций расположены в порядке убывания приоритета.

Запрещается:

- использовать такие операторы как if, do, while, for, switch и т.п. ;

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

- использовать другие операции такие как &&, ||, ?: ;

- использовать типы данных кроме целочисленных;

- использовать массивы, структуры и объединения.

Примеры, иллюстрирующие стиль написания функций:

pow2plus1 - возвращает 2^x + 1, где 0 <= x <= 15 (или 31)

Unsigned pow2plus1(unsigned x)

{

return (1 << x) + 1;

}

-------------------------------

pow2plus4 - возвращает 2^x + 4, где 0 <= x <= 15 (или 31)

Unsigned pow2plus4(unsigned x)

{

unsigned result = 1 << x;

result+=4;

Return result;

}

-------------------------------

conditional - выполняет то же, что Задание № 5. При написании функций можно использовать только следующее: и операция x ? y : z

Int conditional(int x, int y, int z)

(z&r2);

***********************************************************************

Примеры результатов приведены для 16-го представления целых

***********************************************************************

№ 1

Unsigned bitAnd(unsigned x, unsigned y);

bitAnd – возвращает x&y

Пример: bitAnd(6, 5) = 4

Допустимые операции: ~ |

Подсказка: использовать закон Де Моргана

№ 2

Int nthBit(i unsigned x, int n);

nthBit – возвращает значение n-го бита x; нумерация бит начинается с 0

Пример: nthBit(4, 0) = 0, nthBit(4, 2) = 1

№ 3


documentajegqqz.html
documentajegybh.html
documentajehflp.html
documentajehmvx.html
documentajehugf.html
Документ Задание № 5. При написании функций можно использовать только следующее: