1Math::NumSeq::RadixConvUesresrioCno(n3t)ributed Perl DocMuamtehn:t:aNtuimoSneq::RadixConversion(3)
2
3
4
6 Math::NumSeq::RadixConversion -- radix conversion
7
9 use Math::NumSeq::RadixConversion;
10 my $seq = Math::NumSeq::RadixConversion->new (from_radix => 2,
11 to_radix => 10);
12 my ($i, $value) = $seq->next;
13
15 This sequence is the index i converted from one radix to another. The
16 default is from binary to decimal,
17
18 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, ...
19 starting i=0
20
21 For example i=3 in binary is 0b11 which is interpreted as decimal for
22 value 11, ie. eleven.
23
24 When "from_radix < to_radix" the effect is to give values which in
25 "to_radix" use only the digits of "from_radix". The default is all
26 integers which in decimal use only the binary digits, ie. 0 and 1.
27
28 When "from_radix > to_radix" the conversion is a reduction. The
29 calculation is still a breakdown and re-assembly
30
31 i = d[k]*from_radix^k + ... + d[1]*from_radix + d[0]
32 value = d[k]*to_radix^k + ... + d[1]*to_radix + d[0]
33
34 but because "to_radix" is smaller the value is smaller than the index
35 i. For example from_radix=10 and to_radix=8 turns i=345 into
36 value=3*8^2+4*8+5=229.
37
39 See "FUNCTIONS" in Math::NumSeq for behaviour common to all sequence
40 classes.
41
42 "$seq = Math::NumSeq::RadixConversion->new ()"
43 "$seq = Math::NumSeq::RadixConversion->new (from_radix => $r, to_radix
44 => $t)"
45 Create and return a new sequence object.
46
47 Random Access
48 "$value = $seq->ith($i)"
49 Return $i as digits of base "radix" encoded in "to_radix".
50
51 "$bool = $seq->pred($value)"
52 Return true if $value occurs in the sequence.
53
54 If "to_radix <= from_radix" then all integer $value occurs. If
55 "to_radix > from_radix" then $value written in "to_radix" must use
56 only digits 0 to "from_radix - 1" inclusive.
57
59 Math::NumSeq, Math::NumSeq::DigitSum, Math::NumSeq::HarshadNumbers
60
62 <http://user42.tuxfamily.org/math-numseq/index.html>
63
65 Copyright 2012, 2013, 2014, 2016 Kevin Ryde
66
67 Math-NumSeq is free software; you can redistribute it and/or modify it
68 under the terms of the GNU General Public License as published by the
69 Free Software Foundation; either version 3, or (at your option) any
70 later version.
71
72 Math-NumSeq is distributed in the hope that it will be useful, but
73 WITHOUT ANY WARRANTY; without even the implied warranty of
74 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
75 General Public License for more details.
76
77 You should have received a copy of the GNU General Public License along
78 with Math-NumSeq. If not, see <http://www.gnu.org/licenses/>.
79
80
81
82perl v5.30.1 2020-01-30 Math::NumSeq::RadixConversion(3)