Integer en PHP

- Andrés Cruz

Integer en PHP

Un entero o integer por definición es un número con signo sin parte decimal; la misma regla se aplica en PHP.

Notaciones de los enteros en PHP

Los integer pueden ser especificados mediante notación decimal (base 10), hexadecimal (base 16), octal (base 8) o binaria (base 2), opcionalmente precedidos por un signo (- o +) según sea el caso:

  • Para usar la notación octal, se antepone al número un 0 (cero).
  • Para usar la notación hexadecimal, se antepone al número un 0x.
  • Para usar la notación binaria, se antepone al número un 0b.

Ejemplo: Enteros literales en php

<?php
$a = 1234; // número decimal
var_dump($a);
$a = -123; // un número negativo
var_dump($a);
$a = 0123; // número octal (equivalente a 83 decimal)
var_dump($a);
$a = 0x1A; // número hexadecimal (equivalente a 26 decimal)                    
var_dump($a);
$a = 0b11;
var_dump($a);// número binario (equivalente a 3 en decimal) 
?>

Al interpretar el código anterior:

int(1234) 
int(-123) 
int(83) 
int(26) 
int(3)

Rango de un integer en php (desbordamiento de enteros)

Si PHP encuentra un número fuera de los límites de un integer, se interpretará como un float en vez de un integer.

Ejemplo: Desbordamiento de enteros en sistemas 32-bits en php

<?php
$large_number = 2147483647;
var_dump($large_number);                      

$large_number = 2147483648;
var_dump($large_number);                      

?>

Al interpretar el código anterior:

int(2147483647)
float(2147483648)

Ejemplo: Desbordamiento de enteros en sistemas 64-bits en php

<?php
$large_number = 9223372036854775807;
var_dump($large_number);                      

$large_number = 9223372036854775808;
var_dump($large_number);                      

?>

Al interpretar el código anterior:

int(9223372036854775807)
float(9.2233720368548E+18)
Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.