Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: Em hỏi câu lệnh này một chút ạ

  1. #1
    Ngày gia nhập
    06 2007
    Bài viết
    2

    Exclamation Em hỏi câu lệnh này một chút ạ

    Em là new bie nên mới đọng đoạn code này em không hiều gì cả.
    mọi người chỉ giúp:

    byteRead = inStream.ReadByte()) != -1
    và:
    b = (byte) (value == 1 ? b | (1 << pos)
    : b & ~(1 << pos));

  2. #2
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    _Bạn mới code C# cho nên khi post lên câu hỏi cũng không rõ bạn hỏi cái gì và nên post đoạn code nào để hỏi. Tớ khuyên cậu nếu không rõ thì post nguyên cả block of code lên nha. post mỗi cái cục ngắn tẻo teo thế kia còn không biết nó chính xác hay không nữa để mà kiểm tra. Mã nguồn thì để trong thẻ [code]. Đọc xong thì bạn sửa lại bài viết trên nhé.
    None!

  3. #3
    Ngày gia nhập
    06 2007
    Bài viết
    2

    cảm ơn pete_87 đã chỉ bảo! mình sẽ tiếp nhận ý kiến của bạn!
    đoạn code mình muốn hỏi đó là:
    [ public static void Replace(ref byte b, int pos,
    byte value)
    {
    b = (byte) (value == 1 ? b | (1 << pos)
    : b & ~(1 << pos));
    }

    public static byte Extract(byte b, int pos) {
    return (byte) ((b & (1 << pos)) >> pos);
    }
    ]
    đoạn code trên đó:mình không hiểu: ref là gì? và [ b = (byte) (value == 1 ? b | (1 << pos)
    : b & ~(1 << pos));] đoạn này thực hiện thế nào? mong bạn chỉ giúp mình!

  4. #4
    Ngày gia nhập
    05 2007
    Bài viết
    55

    ví dụ về ref:

    sai:
    int i;
    Replace(ref i, int pos,byte value);

    đúng:
    int i = 0;
    Replace(ref i, int pos,byte value);
    Kết quả: i = giá trị nào đó khi đc gán trong hàm Replace

    Nếu không có ref:
    int i = 0;
    Replace(i, int pos,byte value);
    Kết quả: i = 0;

    b = (byte) (value == 1 ? b | (1 << pos) : b & ~(1 << pos));
    Trong đó:
    ?, : là câu lệnh rẽ nhánh như if...else
    |,<<, &, ~, ... là các toán tử để xử lí bit.
    Bạn cần tham khảo phần này để biết nó muốn nói lên điều gì

  5. #5
    Ngày gia nhập
    06 2007
    Bài viết
    2

    Cảm ơn nampt nhé!
    mình đang đọc source của một chương trình đến đó thì không hiểu gì cả!
    Mình đã hiểu ref nampt nói là gì rồi ! có phải nếu có nó thì biến trong phương thức đó là tham biến, còn không thì biến sẽ là tham trị.
    Nhưng mình vẫn chưa hiểu đoạn này [b = (byte) (value == 1 ? b | (1 << pos) : b & ~(1 << pos));], "b" sẽ nhận giá trị như thế nào? có thể chỉ rõ các toán tử xử lý bit không?

  6. #6
    Ngày gia nhập
    06 2007
    Bài viết
    0

    Mặc định Em hỏi câu lệnh này một chút ạ

    cac toan tu xu ly tren bit ne :
    phep & la doi so do sang nhi phan roi phep toan AND(1 AND 0=0 ,1 AND 1=1,....)
    phep | la doi so do sang nhi phan roi phep toan OR(1 OR 0 =1,0 OR 0=0,...)
    phep ^ la doi so do sang nhi phan roi phep toan XOR(giong nhau bang 0 ,khac nhau bang 1)
    phep = : phep gan
    phep << (x<<n=x*2^n)
    phep >> (x>>n=x/2^n)

  7. #7
    Ngày gia nhập
    06 2007
    Bài viết
    2

    vậy còn phép toán "~" và "&~" là gì vậy?
    ....con đường còn xa....
    ...mình vẫn phải đi tiếp...
    :) Tuấn Mạnh :)

  8. #8
    Ngày gia nhập
    09 2006
    Bài viết
    711

    Chỉ là bật hay tắt 1 bit cho byte b tại vị trí pos, value = 1 bật (set 1), = 0 tắt (set 0)
    VD: b = 00101110, value = 1, pos = 0 -> b = 00101111
    Còn hàm Extract thì lấy giá tri bit của byte b tại vị trí pos
    VD: b = 00101110, pos = 2 -> return 1, pos = 0 return 0
    Đã được chỉnh sửa lần cuối bởi TQN : 20-06-2007 lúc 05:05 PM.

  9. #9
    Ngày gia nhập
    06 2007
    Bài viết
    2

    Cảm ơn TQN nhé! mình đã hiểu qua ví dụ của bạn.
    mình hỏi câu này chút thế class trong C# khai báo như này nghĩa là nó kế thừa phải không:
    [
    namesapce Ungdung
    {
    public class sach: ThuVien
    {
    ....
    }
    }].
    cái này không gian tên là Ung dung còn lớp "sach" kế thừa lớp "ThuVien" phải không?
    còn cái không gian tên namespace UngDung nó như thế nào? nó có khác trong VB.NET không vậy?
    Đã được chỉnh sửa lần cuối bởi Tuấn Mạnh : 21-06-2007 lúc 03:37 PM.
    ....con đường còn xa....
    ...mình vẫn phải đi tiếp...
    :) Tuấn Mạnh :)

  10. #10
    Ngày gia nhập
    06 2007
    Bài viết
    2

    Câu hỏi trên của mình có phải quá thừa không? sao không ai trả lời giúp mình với!
    Thực sự mình chưa hiểu lắm về cái Namespace trong .NET framework! nó với lớp có gì khác nhau không?
    ....con đường còn xa....
    ...mình vẫn phải đi tiếp...
    :) Tuấn Mạnh :)

Các đề tài tương tự

  1. cho mình hỏi chút về lập trình C
    Gửi bởi bangbi trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 04-01-2014, 02:34 AM
  2. Hỏi đáp Cho mình hỏi một chút!
    Gửi bởi dejokuondi trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 5
    Bài viết cuối: 28-10-2011, 07:07 PM
  3. vui chút khí thu các bác
    Gửi bởi kitti trong diễn đàn Giải trí - Thư giãn
    Trả lời: 14
    Bài viết cuối: 18-10-2010, 09:47 PM
  4. Mày để cho nó một chút
    Gửi bởi layrick trong diễn đàn Giải trí - Thư giãn
    Trả lời: 1
    Bài viết cuối: 26-09-2010, 12:05 AM
  5. Cho mình hỏi chút về con trỏ
    Gửi bởi ktwiz trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 16-03-2008, 11:19 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn