Въпрос относно задача 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). Може ли някой да удари едно рамо?
Благодаря предварително! Очаквам градивна критика!
Много ти благодаря за помощта и подробното обяснение!