mirror of
https://github.com/php/php-src.git
synced 2024-11-26 19:33:55 +08:00
589bdf30b2
RFC: https://wiki.php.net/rfc/explicit_octal_notation Add an extensive test suits for other variants of integer literals Closes GH-6360
83 lines
3.9 KiB
PHP
83 lines
3.9 KiB
PHP
--TEST--
|
|
Binary integer strings (64bit)
|
|
--SKIPIF--
|
|
<?php
|
|
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
/* Using binary prefix notation lowercase */
|
|
/* Maximum value representable as integer */
|
|
$binary = 0b111111111111111111111111111111111111111111111111111111111111111;
|
|
var_dump($binary);
|
|
var_dump(PHP_INT_MAX);
|
|
|
|
/* Floating number */
|
|
$binary = 0b111111010000101010101010101010111111111111111111111111111111111111111111111111111111;
|
|
var_dump($binary);
|
|
|
|
/* Integer */
|
|
$binary = 0b1010110;
|
|
var_dump($binary);
|
|
|
|
/* underscore separator */
|
|
$binary = 0b1_010110;
|
|
var_dump($binary);
|
|
|
|
/* Ignore leading 0 and _ */
|
|
$binary = 0b0_01010110;
|
|
var_dump($binary);
|
|
$binary = 0b0_1010110;
|
|
var_dump($binary);
|
|
|
|
/* Overflow to infinity */
|
|
$binary = 0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;
|
|
var_dump($binary);
|
|
|
|
/* Using binary prefix notation uppercase */
|
|
/* Maximum value representable as integer */
|
|
$binary = 0B111111111111111111111111111111111111111111111111111111111111111;
|
|
var_dump($binary);
|
|
var_dump(PHP_INT_MAX);
|
|
|
|
/* Floating number */
|
|
$binary = 0B111111010000101010101010101010111111111111111111111111111111111111111111111111111111;
|
|
var_dump($binary);
|
|
|
|
/* Integer */
|
|
$binary = 0B1010110;
|
|
var_dump($binary);
|
|
|
|
/* underscore separator */
|
|
$binary = 0B1_010110;
|
|
var_dump($binary);
|
|
|
|
/* Ignore leading 0 and _ */
|
|
$binary = 0B0_01010110;
|
|
var_dump($binary);
|
|
$binary = 0B0_1010110;
|
|
var_dump($binary);
|
|
|
|
/* Overflow to infinity */
|
|
$binary = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;
|
|
var_dump($binary);
|
|
|
|
?>
|
|
--EXPECT--
|
|
int(9223372036854775807)
|
|
int(9223372036854775807)
|
|
float(1.9119287772983036E+25)
|
|
int(86)
|
|
int(86)
|
|
int(86)
|
|
int(86)
|
|
float(INF)
|
|
int(9223372036854775807)
|
|
int(9223372036854775807)
|
|
float(1.9119287772983036E+25)
|
|
int(86)
|
|
int(86)
|
|
int(86)
|
|
int(86)
|
|
float(INF)
|