1--TEST--
2Binary integer strings (32bit)
3--SKIPIF--
4<?php
5if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
6?>
7--FILE--
8<?php
9/* Using binary prefix notation lowercase */
10/* Maximum value representable as integer */
11$binary = 0b1111111111111111111111111111111;
12var_dump($binary);
13var_dump(PHP_INT_MAX);
14
15/* Floating number */
16$binary = 0b111111010000101010101010101010111111111111111111111111111111111111111111111111111111;
17var_dump($binary);
18
19/* Integer */
20$binary = 0b1010110;
21var_dump($binary);
22
23/* underscore separator */
24$binary = 0b1_010110;
25var_dump($binary);
26
27/* Ignore leading 0 and _ */
28$binary = 0b0_01010110;
29var_dump($binary);
30$binary = 0b0_1010110;
31var_dump($binary);
32
33/* Overflow to infinity */
34$binary = 0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;
35var_dump($binary);
36
37/* Using binary prefix notation uppercase */
38/* Maximum value representable as integer */
39$binary = 0B1111111111111111111111111111111;
40var_dump($binary);
41var_dump(PHP_INT_MAX);
42
43/* Floating number */
44$binary = 0B111111010000101010101010101010111111111111111111111111111111111111111111111111111111;
45var_dump($binary);
46
47/* Integer */
48$binary = 0B1010110;
49var_dump($binary);
50
51/* underscore separator */
52$binary = 0B1_010110;
53var_dump($binary);
54
55/* Ignore leading 0 and _ */
56$binary = 0B0_01010110;
57var_dump($binary);
58$binary = 0B0_1010110;
59var_dump($binary);
60
61/* Overflow to infinity */
62$binary = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;
63var_dump($binary);
64
65?>
66--EXPECT--
67int(2147483647)
68int(2147483647)
69float(1.9119287772983036E+25)
70int(86)
71int(86)
72int(86)
73int(86)
74float(INF)
75int(2147483647)
76int(2147483647)
77float(1.9119287772983036E+25)
78int(86)
79int(86)
80int(86)
81int(86)
82float(INF)
83