在Linux中,set_bit()
是一個內建函數,用于設置一個整數的特定位
#include <stdio.h>
#include <stdint.h>
#include <string.h>
void set_bit(uint32_t *num, int bit_position) {
if (bit_position < 0 || bit_position >= 32) {
printf("Invalid bit position\n");
return;
}
*num |= (1 << bit_position);
}
int main() {
uint32_t num = 0b00000000000000000000000000000000; // 初始化為0
int bit_position = 5; // 要設置的位位置
set_bit(&num, bit_position);
printf("Number after setting bit: %b\n", num);
return 0;
}
在這個示例中,我們定義了一個名為set_bit
的函數,它接受一個指向uint32_t
類型變量的指針和一個表示要設置位的整數。函數內部,我們首先檢查位位置是否在有效范圍內(0到31),然后使用按位或運算符(|
)將指定位置的位設置為1。
在main
函數中,我們創建了一個名為num
的uint32_t
變量并將其初始化為0。然后,我們調用set_bit
函數來設置特定位位置的值。最后,我們使用printf
函數以二進制格式打印修改后的數值。