Có thể có số nguyên 128 bit trong Java hoặc C++ không?Làm thế nào tôi có thể biểu diễn một số nguyên 128 bit trong Java hoặc C++?
Trả lời
Trong Java, bạn có thể sử dụng lớp BigInteger để lưu trữ số nguyên tùy ý lớn. Trong C++, bạn có thể sử dụng một thư viện như GMP để có cùng chức năng.
Viết lớp và hoạt động của riêng bạn để biểu thị số 128 bit hoặc sử dụng một số thư viện có sẵn.
Tôi có thể thấy lý do tại sao "viết của riêng bạn hoặc không viết của riêng bạn" được xem là kém hữu ích. Đây là cơ hội cho một huy hiệu 'Áp lực ngang hàng' :) –
Lớp BigInteger
được thiết kế cho các giá trị số nguyên lớn hơn Long.MAX_VALUE
.
Bạn có thể. Bạn rất có thể sẽ cần phải sử dụng một thư viện để làm điều này mặc dù, ít nhất là cho C + +.
Tôi thích thư viện PolarSSL hoặc thư viện GNU MP Bignum.
Tất nhiên bạn có thể đại diện cho họ.
Tại ít nhất bạn có thể sử dụng mảng byte có 16 phần tử.
Tuy nhiên, câu hỏi đặt ra là nếu bạn chỉ muốn đại diện cho giá trị hoặc thực sự thực hiện một số tính toán với nó.
Trong Java, bạn có thể sử dụng BigInteger
để thể hiện (hiệu quả) các giá trị số nguyên có kích thước tùy ý và cũng làm các phép tính.
java.math.BigInteger
Để làm việc với số nguyên có dung lượng lớn hơn 64 bit (kích thước của một dài), sử dụng java.math.BigInteger. Lớp này đại diện cho các số nguyên không bị chặn và cung cấp một số phương thức để làm số học với chúng.
http://leepoint.net/notes-java/data/numbers/10biginteger.html
Nếu bạn cần sử dụng giá trị thập phân BigDecimal
Tất nhiên, bạn có thể sử dụng BigInteger lớp trong gói java.math. Lớp này cung cấp các phép toán cho phép tính số học mô-đun, tính toán GCD, kiểm tra tính nguyên thủy, tạo thủ công, thao tác bit như các phép toán.
Lớp này đã được thêm vào số JDK1.1.
Nhưng tôi không biết có sự sẵn có như vậy được tích hợp với thư viện C++. Có thể có API mở rộng từ bên thứ ba.
- 1. Làm thế nào tôi có thể biểu diễn một số nguyên rất lớn trong .NET?
- 2. Làm thế nào tôi có thể biểu diễn các khoảng nguyên trong Java?
- 3. Làm thế nào người ta có thể đọc một bit số nguyên bằng bit trong Java?
- 4. Số nguyên 128 bit với c trên cửa sổ?
- 5. Làm thế nào tôi có thể trao đổi hai bit của số nguyên trong Java?
- 6. Làm thế nào để chuyển đổi một số nguyên 128-bit thành chuỗi ascii thập phân trong C?
- 7. Thư viện số nguyên 128 bit nhanh nhất
- 8. Làm thế nào tôi có thể biểu diễn thừa kế từ tham số mẫu trong UML?
- 9. Làm thế nào tôi có thể chuyển đổi một chuỗi lớn thành số nguyên trong java?
- 10. Mã hóa RC4 128 bit trong C#
- 11. Làm thế nào tôi có thể nhận/thiết lập các bit riêng lẻ trong một phao?
- 12. Làm thế nào tôi có thể đúc một số nguyên với một id trong iOS
- 13. Làm thế nào tôi có thể nhận được các bit từ một chuỗi trong C#?
- 14. Phân chia nội tại 128-bit trong Visual C++
- 15. Làm thế nào tôi có thể làm số học 64 bit trong Perl?
- 16. Tìm số nguyên nhỏ nhất mà không thể được biểu diễn dưới dạng một IEEE-754 32 bit float
- 17. Làm thế nào tôi có thể làm cho diễn viên chung java này?
- 18. C# - Làm thế nào tôi có thể "quá tải" một đại biểu?
- 19. Làm thế nào để có được đại diện nhị phân 0-đệm của một số nguyên trong java?
- 20. Làm thế nào tôi có thể biểu diễn một ngắt (đối với vi điều khiển) trong một sơ đồ?
- 21. Làm thế nào tôi có thể sử dụng số nguyên chiều dài tùy ý trong Perl?
- 22. Làm thế nào để xác định số nguyên 64 bit trong c
- 23. Biểu diễn nhị phân của một số thập phân .NET
- 24. Làm thế nào tôi có thể chuyển đổi một chuỗi thành số nguyên trong lisp chung?
- 25. Làm thế nào một nút B-tree có thể được biểu diễn?
- 26. Làm thế nào để có được Locale từ biểu diễn String của nó trong Java?
- 27. Số âm được biểu thị bằng số nguyên đã ký 32 bit như thế nào?
- 28. Làm thế nào bạn có thể biểu diễn hằng số toán học "e" như một giá trị trong JavaScript?
- 29. Chuyển đổi biểu diễn chuỗi các bit thành một byte
- 30. Chuyển đổi số nguyên thành một bit đại diện
Bạn cần cụ thể hơn về các yêu cầu mà bạn có. Chỉ cần đại diện nên rõ ràng là có thể: long a, b đại diện cho một số 128-bit như một cặp 64-bit. – unwind
@unwind: dài có thể là 32 bit trên một số trình biên dịch. '__int64' hoặc' long long' sẽ ở mức tối thiểu 64 bit, nhưng không phải là tiện ích mở rộng không chuẩn. – Brian
có thể trùng lặp của [số nguyên lớn trong C++] (http://stackoverflow.com/questions/1815803/big-integers-in-c) – MSalters