通常我們會使用乙個陣列 來buffer一些資料。這個陣列時迴圈利用的。
那麼這個index 就是要計算出來的了。 這裡列出乙個比較快的方法。
/* modulo inc/dec, bound = 2^k */
#define moddec_pow2(x, bound) (((x) - 1) & ((bound) - 1))
#define modinc_pow2(x, bound) (((x) + 1) & ((bound) - 1))
#define ma_window_sz 8
注意,這個bound 必須是2^n次方。
scb->rssi_index = modinc_pow2(scb->rssi_index, ma_window_sz);
這個時候,計算出來的rssi_index就是下乙個存放資訊的index了。
迴圈佇列(迴圈陣列)中元素個數的計算
佇列頭指標為front,佇列尾指標為rear 指向隊尾元素 after rear為隊尾元素的後一位置 按順時針方向 佇列容量為maxsize 如果用 front rear 來表示隊列為空,也就是說front和rear指向同乙個位置,那麼 佇列滿時 rear 1 mod maxsize front 佇...
迴圈佇列(迴圈陣列)中元素個數的計算
佇列頭指標為front,佇列尾指標為rear 指向隊尾元素 after rear為隊尾元素的後一位置 按順時針方向 佇列容量為maxsize 如果用 front rear 來表示隊列為空,也就是說front和rear指向同乙個位置,那麼 佇列滿時 rear 1 mod maxsize front 佇...
index函式的使用方法
在excel中index函式是用來引用我們所需的資訊,主要分連續區域和非連續區域內的引用兩種,下面我就通過例項來分享一下index函式的使用方法。連續區域中index函式的公式格式是 index array,row num,column num 其中array表示我們要引用的區域,row num表示...