Search…

Hiển Thị Chuỗi Bit với Ngôn Ngữ C

19/09/20201 min read
Code mẫu để lấy trạng thái bit ở vị trí bất kỳ, áp dụng trong bài toán in dải bit cho mảng dữ liệu bằng C.

Bài viết liên quan: Các Thao Tác Trên Bit

Lấy mã 0 hoặc 1 tại vị trí bất kỳ trong dải bit

Giả sử dải bit có dạng như sau và ta muốn lấy được trạng thái bit ở vị trí thứ 6: 1101 0101

  • Vị trí thứ 6 được tính từ bit có trọng số thấp qua cao (từ phải qua trái).

Dịch dải bit sang phải n bits

Trong trường hợp này n là 6.

1101 0101 >> 6 = 0000 0011

Dùng phép toán AND với 1 để lấy kết quả

  0000 0011
&         1
  0000 0001

Code

Tạo chương trình và code như sau:

void printBinary(void *text, int length)
{
    for(int i = length - 1; i >= 0; i--)
    {
        printf("%d", (*(unsigned char*)text >> i) & 1);
    }
}
IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024