#!/usr/bin/perl use warnings; use strict; use bignum; my $i = 10; &format_and_print; $i = 4300000000; &format_and_print; sub format_and_print { print "i: $i\n"; my $ibytes = sprintf("%b", $i); print "print ibytes : $ibytes\n"; printf("printf ibytes: %s\n", $ibytes); my $ioctal = sprintf("%o", $i); print "print ioctal : $ioctal\n"; printf("printf ioctal: %s\n", $ioctal); my $ihex = sprintf("%x", $i); print "print ihex : $ihex\n"; printf("printf ihex : %s\n", $ihex); my $isci = sprintf("%e", $i); print "print isci : $isci\n"; printf("printf isci : %s\n", $isci); my $ifloat = sprintf("%f", $i); print "print ifloat : $ifloat\n"; printf("printf ifloat: %s\n", $ifloat); my $iint = sprintf("%u", $i); print "print iint : $iint\n"; printf("printf iint : %s\n\n", $iint); } exit; #### i: 10 print ibytes : 1010 printf ibytes: 1010 print ioctal : 12 printf ioctal: 12 print ihex : a printf ihex : a print isci : 1.000000e+01 printf isci : 1.000000e+01 print ifloat : 10.000000 printf ifloat: 10.000000 print iint : 10 printf iint : 10 i: 4300000000 print ibytes : 11111111111111111111111111111111 printf ibytes: 11111111111111111111111111111111 print ioctal : 37777777777 printf ioctal: 37777777777 print ihex : ffffffff printf ihex : ffffffff print isci : 4.300000e+09 printf isci : 4.300000e+09 print ifloat : 4300000000.000000 printf ifloat: 4300000000.000000 print iint : 4294967295 printf iint : 4294967295 #### i: 10 print ibytes : 1010 printf ibytes: 1010 print ioctal : 12 printf ioctal: 12 print ihex : a printf ihex : a print isci : 1.000000e+01 printf isci : 1.000000e+01 print ifloat : 10.000000 printf ifloat: 10.000000 print iint : 10 printf iint : 10 i: 4300000000 print ibytes : 100000000010011001100101100000000 printf ibytes: 100000000010011001100101100000000 print ioctal : 40023145400 printf ioctal: 40023145400 print ihex : 1004ccb00 printf ihex : 1004ccb00 print isci : 4.300000e+09 printf isci : 4.300000e+09 print ifloat : 4300000000.000000 printf ifloat: 4300000000.000000 print iint : 4300000000 printf iint : 4300000000