• Thứ Ba, 30/11/2010 07:17 (GMT+7)

    Lớp "floating point" trong C#

    Câu hỏi :

    Xin hỏi code của lớp "floating point" trên C#, bao gồm đếm hệ số và cộng trừ nhân chia số thực.



    Trả lời :

    C# cung cấp kiểu cơ bản để chứa số thực có độ chính xác đơn có tên là float. Một biến float chiếm 4 byte ô nhớ và có thể chứa bất kỳ số thực nào nằm trong tầm trị qui định với độ chính xác khoảng 7 ký số thập phân. Bạn có thể dùng các toán tử cộng, trừ, nhân, chia trên các biến float.

    Nếu bạn muốn tìm hiểu về việc định nghĩa một class C# mà mỗi đối tượng của nó chứa 1 số thực cùng các tác vụ xử lý theo yêu cầu riêng, bạn có thể xem đoạn code định nghĩa 1 class mới có tên là MyClass miêu tả 1 số thực cùng 1 số toán tử phổ dụng trên số thực là cộng, trừ, nhân, chia như sau:

    public class MyFloat {
    //định nghĩa giá trị
    private float value;
    //định nghĩa các tác vụ khởi tạo
    public MyFloat() {
    value = 0;
    }
    public MyFloat(float newval){
    value = newval;
    }
    //định nghĩa các phép toán phổ biến
    public static MyFloat operator +(MyFloat a,MyFloat b){
    return new MyFloat(a.value + b.value);
    }
    public static MyFloat operator -(MyFloat a, MyFloat b){
    return new MyFloat(a.value - b.value);
    }
    public static MyFloat operator *(MyFloat a,MyFloat b){
    return new MyFloat(a.value * b.value);
    }
    public static MyFloat operator /(MyFloat a, MyFloat b){
    return new MyFloat(a.value / b.value);
    }
    }
    Còn sau đây là đoạn code đơn giản sử dụng class MyFloat:
    //định nghĩa các biến
    MyFloat a = new MyFloat (3.1f);
    MyFloat b = new MyFloat (4.2f);
    MyFloat c = new MyFloat();
    //thử cộng 2 đối tượng a và b và chứa kết quả vào đối tượng c
    c = a + b;
    Lưu ý rằng 3 biến a, b, c trong thí dụ trên không phải là 3 biến số thực đơn giản, chúng là 3 đối tượng, mỗi đối tượng miêu tả 1 số thực.

    Chuyên mục: Lập trình