溫馨提示×

linux set_bit功能怎樣實現

小樊
114
2024-12-29 08:10:19
欄目: 智能運維

在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函數中,我們創建了一個名為numuint32_t變量并將其初始化為0。然后,我們調用set_bit函數來設置特定位位置的值。最后,我們使用printf函數以二進制格式打印修改后的數值。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女