ru_php/tests/lang/integer_literals/octal_64bit.phpt

134 lines
3.7 KiB
PHP

--TEST--
Octal integer strings (64bit)
--SKIPIF--
<?php
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
?>
--FILE--
<?php
/* Using octal prefix notation lowercase */
/* Maximum value representable as integer */
$octal = 0o777777777777777777777;
var_dump($octal);
var_dump(PHP_INT_MAX);
/* *technically* this should work but treat this as a degenerate case */
$octal = 0o1000000000000000000000;
var_dump($octal);
/* Floating number */
$octal = 0o45734321536435450000000000;
var_dump($octal);
/* Integer */
$octal = 0o16;
var_dump($octal);
/* underscore separator */
$octal = 0o1_6;
var_dump($octal);
/* Ignore leading 0 and _ */
$octal = 0o0_016;
var_dump($octal);
$octal = 0o0_16;
var_dump($octal);
/* Overflow to infinity */
$octal = 0o77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
var_dump($octal);
/* Using octal prefix notation uppercase */
/* Maximum value representable as integer */
$octal = 0O777777777777777777777;
var_dump($octal);
var_dump(PHP_INT_MAX);
/* *technically* this should work but treat this as a degenerate case */
$octal = 0O1000000000000000000000;
var_dump($octal);
/* Floating number */
$octal = 0O45734321536435450000000000;
var_dump($octal);
/* Integer */
$octal = 0O16;
var_dump($octal);
/* underscore separator */
$octal = 0O1_6;
var_dump($octal);
/* Ignore leading 0 and _ */
$octal = 0O0_016;
var_dump($octal);
$octal = 0O0_16;
var_dump($octal);
/* Overflow to infinity */
$octal = 0O77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
var_dump($octal);
/* Using no dedicated prefix */
/* Maximum value representable as integer */
$octal = 0777777777777777777777;
var_dump($octal);
var_dump(PHP_INT_MAX);
/* *technically* this should work but treat this as a degenerate case */
$octal = 01000000000000000000000;
var_dump($octal);
/* Floating number */
$octal = 045734321536435450000000000;
var_dump($octal);
/* Integer */
$octal = 016;
var_dump($octal);
/* underscore separator */
$octal = 01_6;
var_dump($octal);
/* Ignore leading 0 and _ */
$octal = 00_016;
var_dump($octal);
$octal = 0_16;
var_dump($octal);
/* Overflow to infinity */
$octal = 077777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777;
var_dump($octal);
?>
--EXPECT--
int(9223372036854775807)
int(9223372036854775807)
float(9.223372036854776E+18)
float(1.7912166229916324E+23)
int(14)
int(14)
int(14)
int(14)
float(INF)
int(9223372036854775807)
int(9223372036854775807)
float(9.223372036854776E+18)
float(1.7912166229916324E+23)
int(14)
int(14)
int(14)
int(14)
float(INF)
int(9223372036854775807)
int(9223372036854775807)
float(9.223372036854776E+18)
float(1.7912166229916324E+23)
int(14)
int(14)
int(14)
int(14)
float(INF)