在 shell 腳本中,可以使用 bc
命令行計算器來實現 set_bit 操作
#!/bin/bash
# 定義一個函數來設置指定位置的二進制位
set_bit() {
local num=$1
local bit=$2
# 使用 bc 計算器將二進制位設置為 1
echo "ibase=10; obase=10; $num | (2 ^ $bit)" | bc
}
# 示例:設置數字 5(二進制表示為 101)的第 3 位(從右往左數,從 0 開始計數)
number=5
bit_position=3
result=$(set_bit $number $bit_position)
echo "設置二進制位后的結果:$result"
這個腳本定義了一個名為 set_bit
的函數,接受兩個參數:要操作的數字和要設置的二進制位的位置。函數使用 bc
計算器將指定的二進制位設置為 1,并返回結果。
在示例中,我們將數字 5 的第 3 位設置為 1,得到的結果是 7(二進制表示為 111)。