Loading...

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

ivopanajotov avatar ivopanajotov 6 Точки

BITWISE OPERATIONS

Привет, опитвам се да реша задачата, използвайки побитови операции, но греша някъде. Не отказвам помощ!

https://pastebin.com/Z6XG2bhN

Тагове:
0
Fundamentals Module
willystyle avatar willystyle 2472 Точки

А какво е условието на задачата?

0
ivopanajotov avatar ivopanajotov 6 Точки

3. P-th Bit
Write a program that prints the bit at position p of given integer. We use the standard counting: from right to left,
starting from 0.
Examples
Input Output Comments
2145
5

1 0000100001100001  1

512
0

0 0000001000000000  0

111
8

0 0000000001101111  0

255
7

1 0000000011111111  1

Hints
1. Declare three variables (n, p and bitAtPositionP).
2. Read the user input from the console.
3. Find the value of the bit at position p:
a. Shift the number p times to the right (where p is the position) by using the >> operator. In that way
the bit we want to check will be at position 0;
b. Find the bit at position 0. Use & 1 operator expression to extract the value of a bit. By using the
following formula (bitAtPositionP & 1) you check whether the bit at position 0 is equal to 1 or not. If
the bit is equal to 1 the result is 1 if the bit is not equal - the result is 0;
c. Save the result in bitAtPosition1;
4. Print the result on the console.

1
willystyle avatar willystyle 2472 Точки

в такъв случай, просто:

solve = (decimal, p) => decimal >> p & 1;

ще свърши желаната работа (операндите на >> са просто цели числа, а не стринг както ти си тръгнал, то само разбира в коя бройна система са, от съответния префикс, виж numers в JS, ако са десетична си ги прави вътрешнo на двоична)

0
ivopanajotov avatar ivopanajotov 6 Точки

Благодаря ти!

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.