ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1472153 Топик полностью
SciFi (24.10.2024 21:25, просмотров: 196) ответил IBAH на С удивлением узнал, что в кольцевом буфере помещается данных не на размер буфера, а на размер буфера - 1. Не верите? напишите формулу вычисления свободного места или количества данных в буфере.
вотъ: 
#define FIFOSZ 64 // must be power of two

unsigned int head, tail; char fifo[FIFOSZ];
void put(char arg) { fifo[head++ & (FIFOSZ - 1)] = arg; }
char get(void) { return fifo[tail++ & (FIFOSZ - 1)]; }
int size(void) { return head - tail; }
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้