いろんな言語で宿題 第五編
■ このスレッドは過去ログ倉庫に格納されています
0787デフォルトの名無しさん
2012/07/14(土) 20:18:21.45Perl
use feature qw(say);
sub ieee754_32bit {
my ($n) = @_;
my $s = ($n < 0 ? 1 : 0);
$n = abs($n);
my $e = 0;
if ($n == 0){
$n = 1;
$e = -127;
}
while($n >= 2){
$n /= 2;
$e++;
}
while($n < 1){
$n *= 2;
--$e;
}
my $d = ($s << 31) | ((127 + $e) << 23) | int(($n - 1) * (1 << 23) + 0.5);
return unpack('B*', pack('N', $d));
}
foreach(1, 1.5, 5.23, -1.25, -3.888, -100.0099){
say $_;
say join(' ', ieee754_32bit($_) =~ /([01]{4})/g);
}
■ このスレッドは過去ログ倉庫に格納されています