Skip to content

Latest commit

 

History

History
42 lines (29 loc) · 2.21 KB

README.md

File metadata and controls

42 lines (29 loc) · 2.21 KB

QNumbers

Implements QInt and QFloat 128 bits

Bintray

  • Thiết kế kiểu dữ liệu QInt có độ lớn 16 byte với các hàm sau:

    alt text

    • Hàm Nhập: void ScanQInt(QInt &x)
    • Hàm xuất: void PrintQInt( QInt x)
    • Hàm chuyển đổi số QInt thập phân sang nhị phân: bool * DecToBin (QInt x)
    • Hàm chuyển đổi số QInt nhị phân sang thập phân: QInt BinToDec(bool *bit)
    • Hàm chuyển đổi số QInt nhị phân sang thập lục phân: char *BinToHex(bool *bit)
    • Hàm chuyển đổi số QInt thập phân sang thập lục phân: char *DecToHex(QInt x)
    • Các operator toán tử : “+”, “-” , “*”, “/” (tính theo thuật toán trên số nhị phân)
    • Các toán tử so sánh và gán: “<”, “>”, “==”, “<=”, “>=”, “=”
    • Các toán tử: AND “&”, OR “|”, XOR “^”, NOT “~”
    • Các toán tử: dịch trái “<<”, dịch phải “>>”, xoay trái: “rol”, xoay phải: “ror”

Bintray

  • Thiết kế kiểu dữ liệu biểu diễn số chấm động có độ chính xác Quadruple-precision (độ chính xác gấp 4 lần) độ lớn 128 bit có cấu trúc biểu diễn như sau:

    alt text

  • Hãy định nghĩa các hàm sau:

    • Hàm Nhập: void ScanQfloat (Qfloat &x)
    • Hàm xuất: void PrintQfloat( Qfloat x)
    • Hàm chuyển đổi số Qfloat nhị phân sang thập phân: Qfloat BinToDec(bool *bit)
    • Hàm chuyển đổi số Qfloat thập phân sang nhị phân bool *DecToBin(Qfloat x)

Bintray

  • Chương trình thực thi đọc tham số dòng lệnh ở dạng command line: <MSSV1_MSSV2_MSSV3_MSSV4_MSSV5.exe> <input.txt> <output.txt> .

Bintray

alt text