Tại sao 0x1p3
bằng 8.0
? Tại sao 0x1e3
bằng 483
, trong khi 0x1e3d
bằng 7741
? Nó gây nhầm lẫn kể từ 1e3d
bằng 1000.0
.Các số dấu chấm động Java đại diện dưới dạng số thập lục phân
Trả lời
0x1e3
và 0x1e3d
là hệ thập lục phân nguyên literals. Lưu ý rằng e
và d
là các chữ số thập lục phân, không phải chỉ báo số mũ hoặc chỉ báo loại double
trong trường hợp này.
1e3d
là số thập phân dấu phẩy động chữ. e
là chỉ báo số mũ, số d
cho biết đây là số double
thay vì float
.
Ký hiệu 0x1p3
là cách để diễn tả một dấu phẩy động theo thứ tự thập lục phân, như bạn có thể đọc trong section 3.10.2 của Đặc tả ngôn ngữ Java. Nó có nghĩa là 1 lần 2 đến sức mạnh 3; số mũ là nhị phân (vì vậy, nó là 2-to-the-power thay vì 10-to-the-power).
0x1e3 là hex cho 483, như là hex 0x1e3d cho 7741. Các e
đang được đọc như một chữ số hex với giá trị 14.
Ah, 0x1e3 là số hex, do đó, "e" không có nghĩa là số mũ ở đây. – serious
Nhưng 0x1p3 vẫn chưa rõ ràng. – serious
@ serious, sự khác biệt là 0x1e3 là số nguyên, không phải là số dấu phẩy động. Chữ 'e' trong số nguyên đó chỉ là một sự trùng hợp ngẫu nhiên gây nhầm lẫn. 0x1p3 là một số dấu chấm động. Nó được hiểu _very_ khác nhau. Cách giải thích bao gồm _mantissa_ và _exponent_. Phần trước là phần 1.0 (lưu ý điểm thập phân giả định). Phần sau là phần 'p3' mà đọc 'thành lũy thừa thứ 3'. Vì chúng ta đang ở dạng nhị phân, lấy một số tới lũy thừa thứ 3 giống như dịch chuyển nó 3 bit sang bên trái, do đó 0b1 trở thành 0b1000. Đó là 8 thập phân. –
- 1. Console.WriteLine dưới dạng thập lục phân
- 2. Số thập lục phân C#
- 3. C# hằng số nhị phân đại diện
- 4. Java thập lục phân
- 5. Định dạng số thập lục phân trong Javascript
- 6. Hệ thập lục phân đến số nguyên trong Java
- 7. Java in bốn byte hệ thập lục phân số
- 8. In một mảng số nguyên như số thập lục phân
- 9. Chuyển đổi số thập lục phân thành chuỗi thành số âm, trong Perl
- 10. C# Cách định dạng số thành số thập lục phân với tiền tố '0x'
- 11. 0x00000000 hệ thập lục phân?
- 12. số định dạng có 3 dấu thập phân, dấu phân tách hàng thập phân và dấu phẩy sau
- 13. chuyển đổi chuỗi văn bản thành dạng đại diện hệ thập lục phân hoặc biểu diễn nhị phân
- 14. String.format() và số thập phân trong Java
- 15. Chuyển đổi số bát phân và số thập lục phân thành cơ số 10
- 16. LISP - chữ số sau dấu thập phân
- 17. Lua: viết giá trị thập lục phân dưới dạng tệp nhị phân
- 18. jqGrid: Định dạng số với dấu phẩy là dấu thập phân
- 19. Làm cách nào để định dạng số thành chuỗi thập lục phân?
- 20. Cách hiển thị số thập lục phân trong C?
- 21. Số thập lục phân được tạo ngẫu nhiên trong C#
- 22. Tại sao sử dụng hằng số thập lục phân?
- 23. Cụm từ thông dụng cho một số thập lục phân?
- 24. Python Hệ thập lục phân
- 25. My Visual Studio mất tất cả số nguyên, giá trị biến dài dưới dạng thập lục phân
- 26. số hiển thị bằng dấu phẩy và dấu chấm thập phân
- 27. Thay đổi dấu phẩy thành dấu chấm, làm việc với số thập phân trong php
- 28. định dạng số có dấu phẩy và số thập phân trong C# (asp.net MVC3)
- 29. Định dạng một số bằng dấu phẩy, nhưng giữ số thập phân
- 30. Làm thế nào để in số thập lục phân trong PHP hoặc Java
Tại sao 'p' trong' 0x1p3'? – marcog
@marcog đây là một phần của cách thể hiện số dấu phẩy động, xem JLS: http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.10.2 – Jesper
@marcog: đó là điểm đánh dấu số mũ cho một chữ số thập lục phân dấu chấm động, như được định nghĩa trong các tiêu chuẩn Java và C99. –