30/09/2018, 16:31

Định nghĩa kiểu dữ liệu lớn

Ai cho e xin code định nghĩa 1 kiểu dữ liệu lớn hơn double hoặc float trong C/C++ được không ạ để e về nghiên cứu.
Em thanks trc ạ

Nguyễn Minh Dũng viết 18:44 ngày 30/09/2018

Ai cho e xin code định nghĩa 1 kiểu dữ liệu lớn hơn double hoặc float trong C/C++ được không ạ để e về nghiên cứu.

Mục đích của kiểu dữ liệu lớn này để làm gì vậy @ChiHieu2412, dựa vào mục đích mà mình định nghĩa là kiểu dữ liệu. Trong C ta dùng struct

Chi Hieu Nguyen viết 18:42 ngày 30/09/2018

thỉnh thoảng lúc e test dòng code e hay dùng ngày sinh mình để test, nhiều lúc nó vượt quá giới hạn e tưởng sai, lúc sau thử lại mới đúng nên e mới xin về để nghiên cứu sau này tự làm 1 cái a ạ

Hung Nguyen Minh viết 18:46 ngày 30/09/2018

Bạn có thể post code được không. nếu dùng cho việc ngày tháng năm sinh thì mình thấy dùng kiếu int hoặc unsigned int là dư rồi mà. tại sao phải dùng tới double hay float. Ngày tháng năm là số nguyên mà sao dùng số thực.

Nguyễn Minh Dũng viết 18:34 ngày 30/09/2018

Thêm một điểm nữa là sao không dùng string hoặc char* cho nó đơn giản @ChiHieu2412

Chi Hieu Nguyen viết 18:38 ngày 30/09/2018

dùng string hoặc char thì nó k làm mấy phép toán đc a ơi, e thử cho kết quả cuối cùng vào char nhưng nó k nhận

Minh Hoàng viết 18:36 ngày 30/09/2018

cài đặt operation cho nó là được phép cộng phép trừ thì như cấp 1 đã học. Nhân, div, mod thì cài đặt dựa trên phép cộng và phép trừ thôi.
dùng char thì hình như được tầm 32768 “chữ số”

Chi Hieu Nguyen viết 18:41 ngày 30/09/2018

cài đặt operation là ntn vậy a, e chưa thấy bao h, a cho e 1 vd được ko?

Nguyễn Minh Dũng viết 18:42 ngày 30/09/2018

Làm vậy thì phức tạp quá

dùng string hoặc char thì nó k làm mấy phép toán đc a ơi, e thử cho kết quả cuối cùng vào char nhưng nó k nhận

Cho mọi người xem mẫu code của @ChiHieu2412 đang làm thử? Biết đâu sẽ có solution khác hay hơn?

Chi Hieu Nguyen viết 18:37 ngày 30/09/2018

1 code nhỏ là tính luỹ thừa, nếu e để 24^12 thì nó vượt quá giá trị của double a ạ.
nếu e chuyển sang string thì e làm như thế này nhưng k đc

string x;
x=a^N // tạm coi mấy code kia xong hết r

lúc test thì nó báo lỗi a ạ

Minh Hoàng viết 18:42 ngày 30/09/2018

string thì không thể gán được một số rồi
cho xin code đi bạn

*grab popcorn* viết 18:31 ngày 30/09/2018

C++ ko có hỡ trợ sẵn số lớn như java, c# đồ nên bạn phải tự code :’(
nếu bạn lười code, có thể dùng thư viện boots cho c++ có hỗ trợ sẵn bignum/biginteger
còn ko thì xây dựng hàm pow (tính mũ) return kết quả là string.

Võ Hoài Nam viết 18:41 ngày 30/09/2018

mấy bác làm luôn vụ BigFloatingPointNumber luôn cho máu… BigInteger thì solution trên mạng cũng nhiều…

Gió viết 18:37 ngày 30/09/2018

Mình có viết 1 đoạn code về bigint trong c. Bạn có thể tham khảo tại đây

Minh Hoàng viết 18:39 ngày 30/09/2018

Đồ án bên mình về kiểu BigNum
https://drive.google.com/file/d/0B5gMFXhywMrZaHkzT2k5YllwZ2M/view?usp=sharing

Bài liên quan
0