xref: /PHP-8.0/Zend/tests/binary.phpt (revision 7aacc705)
1--TEST--
2testing binary literals
3--INI--
4precision=32
5--SKIPIF--
6<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
7--FILE--
8<?php
9var_dump(0b1);
10var_dump(0b11);
11var_dump(0b111);
12var_dump(0b1111);
13var_dump(0b11111);
14var_dump(0b111111);
15var_dump(0b1111111);
16var_dump(0b11111111);
17var_dump(0b111111111);
18var_dump(0b1111111111);
19var_dump(0b11111111111);
20var_dump(0b111111111111);
21var_dump(0b1111111111111);
22var_dump(0b11111111111111);
23var_dump(0b111111111111111);
24var_dump(0b1111111111111111);
25var_dump(0b11111111111111111);
26var_dump(0b111111111111111111);
27var_dump(0b1111111111111111111);
28var_dump(0b11111111111111111111);
29var_dump(0b111111111111111111111);
30var_dump(0b1111111111111111111111);
31var_dump(0b11111111111111111111111);
32var_dump(0b111111111111111111111111);
33var_dump(0b1111111111111111111111111);
34var_dump(0b11111111111111111111111111);
35var_dump(0b111111111111111111111111111);
36var_dump(0b1111111111111111111111111111);
37var_dump(0b11111111111111111111111111111);
38var_dump(0b111111111111111111111111111111);
39var_dump(0b1111111111111111111111111111111);
40var_dump(0b11111111111111111111111111111111);
41var_dump(0b111111111111111111111111111111111);
42var_dump(0b1111111111111111111111111111111111);
43var_dump(0b11111111111111111111111111111111111);
44var_dump(0b111111111111111111111111111111111111);
45var_dump(0b1111111111111111111111111111111111111);
46var_dump(0b11111111111111111111111111111111111111);
47var_dump(0b111111111111111111111111111111111111111);
48var_dump(0b1111111111111111111111111111111111111111);
49var_dump(0b11111111111111111111111111111111111111111);
50var_dump(0b111111111111111111111111111111111111111111);
51var_dump(0b1111111111111111111111111111111111111111111);
52var_dump(0b11111111111111111111111111111111111111111111);
53var_dump(0b111111111111111111111111111111111111111111111);
54var_dump(0b1111111111111111111111111111111111111111111111);
55var_dump(0b11111111111111111111111111111111111111111111111);
56var_dump(0b111111111111111111111111111111111111111111111111);
57var_dump(0b1111111111111111111111111111111111111111111111111);
58var_dump(0b11111111111111111111111111111111111111111111111111);
59var_dump(0b111111111111111111111111111111111111111111111111111);
60var_dump(0b1111111111111111111111111111111111111111111111111111);
61var_dump(0b11111111111111111111111111111111111111111111111111111);
62var_dump(0b111111111111111111111111111111111111111111111111111111);
63var_dump(0b1111111111111111111111111111111111111111111111111111111);
64var_dump(0b11111111111111111111111111111111111111111111111111111111);
65var_dump(0b111111111111111111111111111111111111111111111111111111111);
66var_dump(0b1111111111111111111111111111111111111111111111111111111111);
67var_dump(0b11111111111111111111111111111111111111111111111111111111111);
68var_dump(0b111111111111111111111111111111111111111111111111111111111111);
69var_dump(0b1111111111111111111111111111111111111111111111111111111111111);
70var_dump(0b11111111111111111111111111111111111111111111111111111111111111);
71var_dump(0b111111111111111111111111111111111111111111111111111111111111111);
72var_dump(0b111111111111111111111111111111111111111111111111111111111111111 + 1);
73var_dump(0b1111111111111111111111111111111111111111111111111111111111111111);
74var_dump(0b1111111111111111111111111111111111111111111111111111111111111111 + 1);
75var_dump(0b11111111111111111111111111111111111111111111111111111111111111111);
76var_dump(0b11111111111111111111111111111111111111111111111111111111111111111 + 1);
77
78var_dump(-0b1111111111111111111111111111111111111111111111111111111111111111);
79var_dump(-0b111111111111111111111111111111111111111111111111111111111111111);
80var_dump(-0b11111111111111111111111111111111111111111111111111111111111111);
81var_dump(-0b1);
82?>
83--EXPECT--
84int(1)
85int(3)
86int(7)
87int(15)
88int(31)
89int(63)
90int(127)
91int(255)
92int(511)
93int(1023)
94int(2047)
95int(4095)
96int(8191)
97int(16383)
98int(32767)
99int(65535)
100int(131071)
101int(262143)
102int(524287)
103int(1048575)
104int(2097151)
105int(4194303)
106int(8388607)
107int(16777215)
108int(33554431)
109int(67108863)
110int(134217727)
111int(268435455)
112int(536870911)
113int(1073741823)
114int(2147483647)
115int(4294967295)
116int(8589934591)
117int(17179869183)
118int(34359738367)
119int(68719476735)
120int(137438953471)
121int(274877906943)
122int(549755813887)
123int(1099511627775)
124int(2199023255551)
125int(4398046511103)
126int(8796093022207)
127int(17592186044415)
128int(35184372088831)
129int(70368744177663)
130int(140737488355327)
131int(281474976710655)
132int(562949953421311)
133int(1125899906842623)
134int(2251799813685247)
135int(4503599627370495)
136int(9007199254740991)
137int(18014398509481983)
138int(36028797018963967)
139int(72057594037927935)
140int(144115188075855871)
141int(288230376151711743)
142int(576460752303423487)
143int(1152921504606846975)
144int(2305843009213693951)
145int(4611686018427387903)
146int(9223372036854775807)
147float(9.223372036854776E+18)
148float(1.844674407370955E+19)
149float(1.844674407370955E+19)
150float(3.68934881474191E+19)
151float(3.68934881474191E+19)
152float(-1.844674407370955E+19)
153int(-9223372036854775807)
154int(-4611686018427387903)
155int(-1)
156