十进制转其他进制

刚才翻到了上学期期末无聊写的十进制转其他进制的Perl程序,留着也没用,其实拿出来也没人用,就当发出来玩玩吧。

#!/usr/bin/env perl
 
use strict;
use warnings;
use utf8;
use 5.010;
 
my $num = 173.7;
my $radix = 6;
 
sub integral
{
    my $_integral = int(shift or 0);
    my $_radix = shift or warn "Please input a radix.n";
    my @result = ();
    while ($_integral > $_radix) {
        push @result, $_integral % $_radix;
        $_integral /= $_radix;
    }
    push@result, int($_integral);
    my $res = "";
    while (scalar @result) {
        $res .= pop @result;
    }
    $res;
}
 
sub floating
{
    my $_floating = shift or 0;
    my $_radix = shift or warn "Please input a radix.n";
    my $_integral = int($_floating);
    $_floating -= $_integral;
    my $res = "";
    for (my $i = 0; $i < 10; $i++) {
        my $tmp = int($_floating * $_radix);
        $res .= $tmp;
        $_floating *= $_radix;
        $_floating -= $tmp;
    }
    $res;
}
 
my ($integral, $floating) = split(/./, $num);
say integral($integral,$radix),".",floating "0.".$floating,$radix;
声明: 本文为0xBBC原创, 转载注明出处喵~

《十进制转其他进制》有2个想法

  1. 博主学会用删除线来卖萌了。。

    今天要来和博主来个小小的道别。。马上就要中考了所以不能经常来了。。
    希望博主能够写出更好的东西来分享给大家!
    有空就回来回复的!!

发表评论

电子邮件地址不会被公开。 必填项已用*标注