Announcement

Collapse
No announcement yet.

Các phép thao tác bit trong C

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C++] Các phép thao tác bit trong C

    Chào các anh chị!
    Trong ngôn ngữ lập trình C em không hiểu "Các phép thao tác bit": & | ^ << >> ~
    Ví dụ n&1 có nghĩa là gì?
    Em đã cố đọc sách nhưng chả hiểu gì cả. Có ai biết giúp em với.
    Cám ơn anh chị nhiều!
    "Khi bạn sỉ vào mặt một ai đó, thì nhìn lại đi, ba ngón tay còn lại của bạn cũng đang sỉ vào chính mình"

  • #2
    a cũng còn ko pít nữa là

    Comment


    • #3
      Cám ơn anh! Nhưng trong đó người ta hỗng có trình bày phép &. Em thì lại gặp quá nhiều rắc rối với phép & này. Huhu
      "Khi bạn sỉ vào mặt một ai đó, thì nhìn lại đi, ba ngón tay còn lại của bạn cũng đang sỉ vào chính mình"

      Comment


      • #4
        Originally posted by 11520350 View Post
        Cám ơn anh! Nhưng trong đó người ta hỗng có trình bày phép &. Em thì lại gặp quá nhiều rắc rối với phép & này. Huhu
        Phép and bit. Lấy sách kiến trúc máy tính ra đọc lại đi, trong đó có đó.

        Comment


        • #5
          Originally posted by 11520350 View Post
          Cám ơn anh! Nhưng trong đó người ta hỗng có trình bày phép &. Em thì lại gặp quá nhiều rắc rối với phép & này. Huhu
          VD : Xét Số kiểu int 4byte . Làm phép AND từng cặp bit ,không nhớ nha
          3&5 =
          000...011
          000...101
          -----------
          000...001 = 1 ( radix 10- 32bit)

          Im a british accent lover

          Comment


          • #6
            về thao tác >> nha, các thao tác kia cũng tương tự.
            Giả sử như mình muốn biết bit thứ i (tính từ phải qua) của một số n là 0 hay 1.
            i=1, n=3;

            if (((n>>i) & 1)==1)
            pritnf "là bit 1";
            else
            printf "không là bit 1";

            dãy bit tương ứng của n : 0011
            dãy bit tương ứng của (n>>i) : 0001 (nó sẽ tự động thêm số 0 vào cho đủ bit)
            0001
            0001
            ----(&)
            0001 (==1)

            về n&1. (phép & tương đương với phép so sánh true/false ak em.)
            Giả sử n = 5
            dãy bit tương ứng của của 5 : 0101
            dãy bit tương ứng của của 1 : 0001
            n&1:
            0101
            0001
            ----
            0001
            Phạm Minh Tâm
            Phone: 01643-652-922
            Skype ID: tampham47@live.com

            Comment

            LHQC

            Collapse
            Working...
            X