Как присвоить значение i-ому биту памяти на которую указывает void*? си
Есть переменная которая поступает в функцию при помощи void*:
void f(void* ptr, int size) {
...
}
Как я могу присвоить значение i-ого бита (i < size) от *ptr нулю?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Что-то типа
unsigned char * s = (unsigned char *)ptr;
s = s + size/8;
s |= (1 << (size%8));
для установки бита равным 1. Для сброса - использовать & ~ и так далее...