Въпрос относно задача 12 от урок 3 на Въведение в програмирането с Java
Здравейте,
Упражнявам се върху задачите след урока за Оператори и изрази:
Дадено е число n, стойност v (v = 0 или 1) и позиция p. Напишете поредица от операции, които да променят стойността на n, така че битът на позиция p да има стойност v. Пример n=35, p=5, v=0 -> n=3. Още един пример: n=35, p=2, v=1 -> n=39.
И се спъвам на следното нещо:
public class Urok3Zadacha12 { public static void main(String[] args) { int n = 35; int p = 5; int v = 0; int i = 1; int mask = i << p;
Дотук съм сменила позицията на 1 в числото i, така че да мога да проверя дали mask и n съвпадат (=1) или не. Но оттук-нататък не мога да продължа със смяната на позиция p от 1 на 0 (в случай, че е 1). Може ли някой да удари едно рамо?
Благодаря предварително! Очаквам градивна критика!
Много ти благодаря за помощта и подробното обяснение!