Нужно обнулить последние биты даного числа n. 0<=n<=2^31. Вводиться n, само число биты которого нужно обнулить, потом k, оно показывает сколько бит с конца обнулять. 0<=k<=30. Нельзя использовать циклы. Написал, но никак не хочет проходить 6 тестов из 50.
#include <iostream>
using namespace std;
int main() {
long long n, k, L = 4294967295, f = 0, S = 0;
cin >> n >> k;
if (k == 1) f = 1;
else {
S = (1 - (2 << (k - 1))) / (-1);
}
L -= S+f;
cout << (L&n);
}
Использовал методику геометрической прогресии, чтобы сделать k нулей в числе L, а потом просто применил к даному числу, и к числу с вырезанными нужными нулями операцию &. Незнаю, почему не проходит 2 теста. Значительно повышал число L, но не в этом дело.
#include <iostream>
using namespace std;
int main()
{
unsigned long input;
int bits;
cin >> input >> bits;
input >>= bits; // Убираем все нужные биты
input <<= bits; // Возвращаем на их место нули
cout << input << endl;
return 0;
}
unsigned int mask = 0xFFFFFFFF >> k;
unsigned int res = n & mask
это если надо биты обнулять не у числа, а у ячейки памяти (4 бита) в котором оно хранится
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Создаю custom post type в wordpress и категории для него:
В общем есть некое API, где выдаётся ссылка привязанная к IP адресу клиентаЯ попытался запросить с сайта через XmlHttpRequest и через fetch