Thông báo

Collapse
No announcement yet.

Câu lệnh _BV(bit) có ý nghĩa là gì ạ?

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Câu lệnh _BV(bit) có ý nghĩa là gì ạ?

    Theo em tìm hiểu thì thấy câu lệnh này được định nghĩa như #define _BV(bit) (1<<(bit)) nghĩa là chuyển một số sang giá trị byte. Có bác nào giải thích kỹ hơn một chút được không ạ? Em mới vào nghề nên còn hơi kém nên mong các bác thông cảm ạ. Thanks nhiều nhiều ạ

  • #2
    Nguyên văn bởi Koreman Xem bài viết
    Theo em tìm hiểu thì thấy câu lệnh này được định nghĩa như #define _BV(bit) (1<<(bit)) nghĩa là chuyển một số sang giá trị byte. Có bác nào giải thích kỹ hơn một chút được không ạ? Em mới vào nghề nên còn hơi kém nên mong các bác thông cảm ạ. Thanks nhiều nhiều ạ
    #define tác dụng là gi?

    Nghĩa là trong chương trình cứ chỗ nào có _BV(bit) sẽ đươcn thay bằng (1<<(bit)), đơn giản vậy thôi. (Cũng gần giống hàm ấy mà)
    ●█═██▄▄▄▄▄▄▄▄▄
    ▄▅██████▅▄▃▂
    ████████████████
    ◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲◤

    Comment


    • #3
      @luulinh: hic em biết câu lệnh ý nghĩa câu #define là gì rồi và biết là _BV(bit) được thay thế bởi (1<<(bit)) rồi. Nhưng em không hiểu (1<<(bit)) ở đây là gì? Nó có tác dụng gì ạ?
      Ý nghĩa của tiếng anh: Converts a bit number into a byte value.

      Note:
      The bit shift is performed by the compiler which then inserts the result into the code. Thus, there is no run-time overhead when using _BV()

      Comment


      • #4
        The bit shift is performed by the compiler which then inserts the result into the code. Thus, there is no run-time overhead when using _BV()
        Híc, nhìn thì chỉ biết là nó dịch trái "bit" một phát, lấy kêt quả chèn vào code thôi. còn "Converts a bit number into a byte value" thì chịu, có biết "bit" là cái gì đâu.

        Cái này mình rốt chỉ biết đến thế, chắc nhờ các bác khác giải thích hộ vậy!
        ●█═██▄▄▄▄▄▄▄▄▄
        ▄▅██████▅▄▃▂
        ████████████████
        ◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲◤

        Comment


        • #5
          -- Híc, post lặp rồi---
          MOD xóa dùm em nhé,thanks!
          ●█═██▄▄▄▄▄▄▄▄▄
          ▄▅██████▅▄▃▂
          ████████████████
          ◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲◤

          Comment


          • #6
            Nguyên văn bởi luulinh Xem bài viết
            Híc, nhìn thì chỉ biết là nó dịch trái "bit" một phát, lấy kêt quả chèn vào code thôi. còn "Converts a bit number into a byte value" thì chịu, có biết "bit" là cái gì đâu.

            Cái này mình rốt chỉ biết đến thế, chắc nhờ các bác khác giải thích hộ vậy!
            Đây đơn giản là định nghĩa một MACRO. Chức năng của nó là chuyển giá trị của tham số bit thành dạng số BYTE có giá trị là là 2^bit(2 mũ bit), thực hiện việc dịch trái bit lần số 1.
            Code:
            bit = 0      --> 1
            bit = 1      --> 2
            bit = 2      --> 4
            bit = 3      --> 8
            ...
            bit = n      --> 2^n
            Hàm này thường được sử dụng để thực hiện thao tác với 1 bit thứ n nào đó trên một chuỗi bit. Giả sử muốn set 1 bit thứ 5 của số: (Number | _BV(5)), xóa bit thứ 5: (Number | (~_BV(5)))

            Good luck.

            Email:
            Phone: 0905.034.086

            Comment


            • #7
              Bây giờ em đã hiểu thuốc phucaca giệt trừ giun như thế nào rồi. Thanks bác nhé
              Nguyên văn bởi cskiller Xem bài viết
              Đây đơn giản là định nghĩa một MACRO. Chức năng của nó là chuyển giá trị của tham số bit thành dạng số BYTE có giá trị là là 2^bit(2 mũ bit), thực hiện việc dịch trái bit lần số 1.
              Code:
              bit = 0      --> 1
              bit = 1      --> 2
              bit = 2      --> 4
              bit = 3      --> 8
              ...
              bit = n      --> 2^n
              Hàm này thường được sử dụng để thực hiện thao tác với 1 bit thứ n nào đó trên một chuỗi bit. Giả sử muốn set 1 bit thứ 5 của số: (Number | _BV(5)), xóa bit thứ 5: (Number | (~_BV(5)))

              Good luck.

              Comment

              Về tác giả

              Collapse

              Koreman Tìm hiểu thêm về Koreman

              Bài viết mới nhất

              Collapse

              Đang tải...
              X