計算迴圈使用的陣列的index

2021-05-11 01:39:23 字數 428 閱讀 8445

通常我們會使用乙個陣列 來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表示...