本文轉載于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
+關注
關注
88文章
11760瀏覽量
219038 -
開發板
+關注
關注
26文章
6291瀏覽量
118135 -
觸覺智能
+關注
關注
1文章
62瀏覽量
857
發布評論請先 登錄
觸覺智能RK3506開發板配置USB復合設備(下)
觸覺智能RK3506開發板配置USB復合設備(上)
觸覺智能Purple Pi OH首發開源鴻蒙6.0 XTS認證,開源鴻蒙正式開啟6.0時代!
觸覺智能Purple Pi OH開發板率先適配OpenHarmony6.0 Release,鴻蒙明星開發板
觸覺智能RK3506開發板通過OpenHarmony 5.1 XTS認證,引領鴻蒙開發新標桿!
Linux系統查看及修改設備型號信息,觸覺智能RK3562開發板演示
Linux修改uboot啟動延時方法詳細攻略,觸覺智能RK3568開發板演示
Ubuntu系統安裝Docker詳細攻略,觸覺智能RK3568開發板演示
Linux文件系統打包及鏡像制作,觸覺智能RK3562開發板演示
Linux開發板CAN總線測試方法,觸覺智能RK3568開發板演示
鴻蒙北向開發OpenHarmony5.0 DevEco Studio開發工具安裝與配置
【觸覺智能 Purple Pi OH 開發板體驗】+ Linux下位移運算及實現
評論