Tôi đang làm việc thông qua các sân chơi cơ bản đầu tiên trong https://github.com/nettlep/learn-swift sử dụng XCodeký hiệu dấu chấm với p cho literals số thập lục phân trong nhanh chóng
Chính xác những gì đang xảy ra với biểu hiện này?
0xC.3p0 == 12.1875
tôi đã học được về chữ thập lục phân và "p" ký hiệu đặc biệt mà chỉ ra một sức mạnh của 2.
0xF == 15
0xFp0 == 15 // 15 * 2^0
Nếu tôi cố gắng 0xC.3
tôi nhận được lỗi: dấu chấm động thập lục phân đen phải kết thúc với số mũ.
Tôi tìm thấy điều này đẹp overview of numeric literals và another deep explanation, nhưng tôi không thấy điều gì đó giải thích những gì .3p0
thực hiện.
Tôi đã chia nhỏ mã và nâng cấp bài học này lên XCode 7/Swift 2 - đây là specific line.
cảm ơn cho chi tiết giải trình. Thứ đã ném tôi ra là 0xC.3 không được phép, điều đó làm tôi phân tâm khi nhận ra nó là một phần thập lục phân. Với ngữ pháp trong tài liệu tham khảo của Apple, có vẻ như lỗi đó có thể là một lỗi? – Ultrasaurus
@Ultrasaurus Bạn được chào đón. Tôi có thể thấy điều đó đã ném bạn ra sao, nó có thể hơi lạ nếu bạn đi ngang qua với các số thập lục phân nhưng không, đặc biệt là hex. ký hiệu mũ. Tôi muốn nói rằng lỗi là hành vi mong đợi, vì tài liệu (ở trên) nêu rõ * "... bao gồm tiền tố 0x, tiếp theo là phần thập lục phân tùy chọn, theo sau là số mũ thập lục phân." *; tức là, số mũ hệ thập lục phân cần phải có mặt cho một chữ cái dấu phẩy động hoàn chỉnh theo định dạng thập lục phân. ... –
dfri
... Từ tài liệu, tìm kiếm * "dấu phẩy động" * dưới * "Ngữ pháp của dấu phẩy động" *: nếu chúng ta muốn sử dụng ký hiệu thập lục phân, dấu phẩy động phải được trình bày trên biểu mẫu * hexadecimal-literal Tùy chọn (hệ thập lục phân phân số thập lục phân) số mũ *. Sau đó, * hex-exp *, là bắt buộc đối với biểu diễn này; do đó loại trừ nó sẽ dẫn đến lỗi thời gian biên dịch. – dfri