Tôi có một chuỗi có độ dài tùy ý biểu thị giá trị số thập phân và chuyển chuỗi này thành số nguyên lớn ở định dạng nhị phân đơn thuần (không phải BCD, hơn 64 bit).Tôi cần có bao nhiêu byte để giữ N chữ số thập phân
Tôi đang tìm kiếm một ước tính đơn giản, có bao nhiêu byte sẽ giữ N chữ số thập phân cho chắc chắn mà không cần sử dụng dấu chấm động.
1) Thư viện int lớn của bạn có chức năng 'Length' không? 2) Tại sao bạn muốn tránh điểm nổi? – CodesInChaos
Nó sẽ phụ thuộc vào cách nó được lưu trữ. Đối với mã hóa chuẩn, mỗi chữ số sử dụng 4 bit, vì vậy nBytes = (nDigits + 1)/2. Bạn cũng nên xem xét sử dụng nén, ngay cả trong bộ nhớ nén, với một số thuật toán nhanh. Tỷ lệ sẽ khác nhau, nhưng bạn sẽ tiết kiệm không gian cho chắc chắn. Xem thêm liệu dữ liệu của bạn có thể có một số mẫu hay không, như lưu trữ đồng bằng giữa các giá trị (sau khi sắp xếp, ví dụ), điều này thậm chí sẽ tăng cường nén hơn. –