2010-03-24 30 views

Trả lời

40

Tính đến PHP 5.4+ tiền tố cho số nhị phân là:

0b 


Đối với phiên bản ealier, không có tiền tố như vậy. Thay vào đó, bạn có thể sử dụng 0x, cho hệ thập lục phân.

Để biết thêm thông tin, hãy xem Integers section of the PHP manual.

Tuy nhiên, nếu bạn thực sự cần ghi giá trị bằng cách sử dụng nhị phân trước PHP 5.4, bạn có thể sử dụng hàm bindec, lấy một chuỗi chứa nhị phân và trả về giá trị tương ứng.

Ví dụ, phần mã sau đây:

echo bindec('10011'); 

sẽ giúp bạn có được:

19 

Nhưng lưu ý bạn không nên làm điều đó quá thường xuyên: gọi một chức năng để làm điều đó mỗi lần kịch bản được thực hiện khá xấu cho màn trình diễn ^^
Thay vào đó, nó thực sự là một giải pháp tốt hơn để viết giá trị của bạn bằng cách sử dụng hệ thập lục phân, trong đó mỗi chữ số mã cho 4 bit.

+0

Xin lỗi khi nghe ... Nhưng bạn là người đầu tiên đưa ra giải pháp thay thế :) – user198729

+0

Brad Koch mô tả cách có một tiền tố với PHP 5.4 –

2

Từ PHP 5.4+ có, trên thực tế, một tiền tố: 0b.

thông tin hiện tại trong PHP Docs:

literals số nguyên nhị phân có sẵn từ PHP 5.4.0.

Để sử dụng ký hiệu bát phân, trước số có 0 (số không). Để sử dụng ký hiệu thập lục phân, trước số 0x. Để sử dụng ký hiệu nhị phân, trước số 0b.


24 Tháng 3 '10 11:31 (câu trả lời ban đầu):

Tôi không nghĩ rằng có một. Tiền tố 0 nếu cho bát phân và 0x là cho hệ thập lục phân.

Từ PHP docs:

Integer có thể được quy định trong hệ thập phân (cơ sở 10), hệ thập lục phân (cơ sở 16), hoặc bát phân (cơ sở 8) ký hiệu, tùy trước bởi một dấu (- hoặc +).

Để sử dụng ký hiệu bát phân, trước số có 0 (số không). Để sử dụng ký hiệu thập lục phân, trước số 0x.

1

Kiểm tra the manual: PHP chỉ hỗ trợ ký hiệu số nguyên thập phân, thập lục phân và số bát phân, nhưng bạn có thể sử dụng bindec() để thay thế.

Ngoài ra, hãy nhớ rằng mỗi chữ số hex đại diện cho 4 bit, vì vậy thật dễ dàng để chuyển đổi giữa ký hiệu nhị phân và hex. Điều này cũng đúng với bát phân, nhưng vì nhiều lý do nó được sử dụng ít hơn trong thực tế.

47

New in PHP 5.4 là tiền tố nhị phân, 0b. Hãy suy nghĩ về tính di động khi sử dụng nó mặc dù; bạn sẽ cần có khả năng đảm bảo máy chủ chạy PHP 5.4+.

+4

Câu trả lời đúng duy nhất hiện nay. – Gangnus

+0

Câu trả lời được chấp nhận có thể là chính xác tại thời điểm câu hỏi xảy ra, nhưng hiện tại đây là câu trả lời đúng, chỉ cần một liên kết để hỗ trợ Brads trả lời: http://php.net/manual/en/language.types.integer. php –

Các vấn đề liên quan