#! /bin/sh # intfloat.sh # # Shows int to float conversion working correctly in shell # with very large ints on a 64 bit machine. # # Author: Daniel Convissor i=`php -r "echo PHP_INT_MAX;"` # 9223372036854775807 on 64 bit. echo "PHP_INT_MAX" echo "echo: $i" printf "printf: %f\n\n" $i let i=$i-1 echo "PHP_INT_MAX - 1" echo "echo: $i" printf "printf: %f\n\n" $i let i=$i/2 echo "(PHP_INT_MAX - 1) / 2" echo "echo: $i" printf "printf: %f\n\n" $i # OUTPUT...................... # # PHP_INT_MAX # echo: 9223372036854775807 # printf: 9223372036854775807.000000 # # PHP_INT_MAX - 1 # echo: 9223372036854775806 # printf: 9223372036854775806.000000 # # (PHP_INT_MAX - 1) / 2 # echo: 4611686018427387903 # printf: 4611686018427387903.000000