本文轉載于Purple Pi OH開發愛好者,作者李唐
Linux下對外設的控制中,往往要用到移位操作,若設計出相應的函數會有效地通過使用的效率。
位移函數的作用是按位進行數據移動,其數據類型為字節型。在此類函數中,包括左移、右移和位交換。
左移
左移函數的表達式為:y=a<
實現左移的函數方式為:y=a*(2^n) ,2^n表示2的n次方。
實現左移的函數內容為:
在完成該函數的編輯后,將其存入文件yw.sh即可。
為驗證其正確性,需鍵入指令source ./ yw.sh即可運行該函數。該函數是雙目運算,故要鍵入2個操作數。以操作數0x85為例,其左移2位的結果為0x224,說明函數正確。
右移
右移函數的表達式為:y=a>>n (a為整數型變量,n=0~7)
實現右移的函數方式為:y=a/(2^n)
實現右移的函數內容為:
在完成該函數的編輯后,將其存入文件yw.sh即可。
為驗證其正確性,需鍵入指令source ./ yw.sh即可運行該函數。該函數是雙目運算,故要鍵入2個操作數。以操作數0x85為例,其右移2位的結果為0x21,說明函數正確。
位交換
在數據操作處理中,常會涉及半字節的操作,比如用字節數據的高4位或低4位,或交換數據的高、低4位等。
對提取的高4位測試為:
對提取的低4位測試為:
這樣我們就基本上解決了位移操作的函數設計及處理方法問題,盡管這些問題很基礎,但它卻很實用。
-
Linux
+關注
關注
87文章
11333瀏覽量
210054 -
開發板
+關注
關注
25文章
5110瀏覽量
97895 -
觸覺智能
+關注
關注
1文章
41瀏覽量
349
發布評論請先 登錄
相關推薦
評論