Байты элементов массива целых чисел, в седьмых битах которых содержится 1, сдвинуть вправо на один разряд - C (СИ)
Формулировка задачи:
Помоги пж
Решение задачи: «Байты элементов массива целых чисел, в седьмых битах которых содержится 1, сдвинуть вправо на один разряд»
textual
Листинг программы
#include <stdio.h>
void print_array(int* buff, int len)
{
int i = 0;
for (; i < len; *buff++, i++) {
printf("%d ", *buff);
}
printf("\n");
}
void rrf(int* buff, int len)
{
int i = 0;
for (; i < len; *buff++, i++) {
if ((*buff) & (1 << 7))
*buff = *buff >> 1;
}
}
int main(void)
{
int arr[] = { 23, 3454, 7672, 4352, 5345, 5664, 2321 }, size = sizeof(arr) / sizeof(arr[0]);
print_array(arr, size);
rrf(arr, size);
print_array(arr, size);
return 0;
}