Tipe Data : Integer – Overflow Integer

Oleh : Abah Razi

بسم الله الرحمن الرحيم

Jika PHP menghadapi suatu angka yang ada di luar batas tipe integer, dia akan diinterpretasi sebagai suatu float. Begitu pula, sebuah operasi yang menghasilkan nilai diluar batas tipe integer akan menghasilkan float pula

Contoh : Overflow Integer di sistem 32 bit


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

$large_number = 2147483648;
var_dump($large_number);                     // float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);                     // float(50000000000)
?>

Contoh : Overflow integer di sistem 64 bit


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

$large_number = 9223372036854775808;
var_dump($large_number);                     // float(9.2233720368548E+18)

$million = 1000000;
$large_number =  50000000000000 * $million;
var_dump($large_number);                     // float(5.0E+19)
?>

Tidak ada operator pembagian integer di PHP. 1/2 menghasilkan float 0.5. Nilai dapat dicast ke suatu integer dengan membulatkannya ke bawah, atau dengan menggunakan fungsi round() seperti tampak pada contoh berikut :


<?php
var_dump(25/7);         // float(3.5714285714286) 
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4) 
?>

About Reza Ervani 387 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.