Tôi gặp sự cố khi chuyển đổi chuỗi đại diện của giá trị hex thành giá trị nguyên với Delphi.Chuyển đổi đường hex sang giá trị thập phân trong delphi
ví dụ:
$ FC75B6A9D025CB16 cho tôi 802.829.546 khi tôi sử dụng các chức năng:
Abs(StrToInt64('$FC75B6A9D025CB16'))
nhưng nếu tôi sử dụng chương trình calc từ Windows, kết quả là: 18191647110290852630
Vì vậy, câu hỏi của tôi là: ai đúng? tôi, hoặc calc?
Có ai đã có loại vấn đề này không?
Nhân tiện, rõ ràng là 802829546 không thể đúng. Biểu diễn thập phân của một số nguyên không thể có ít chữ số hơn biểu diễn thập lục phân. –
bạn đang sử dụng phiên bản delphi nào? Trong Delphi XE tôi nhận được 255096963418698986 sử dụng mã của bạn mà là kết quả mong đợi ... – whosrdaddy
@Andreas bắt đầu với FC - nó có thể là số âm, sau đó nó có thể ngắn hơn :-) –