mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-16 04:20:32 +01:00
66 lines
2.6 KiB
Plaintext
66 lines
2.6 KiB
Plaintext
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
=head1 NAME
|
|
|
|
basecvt - radix conversion for arbitrary precision integers
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
basecvt <ibase> <obase> [values]
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
The B<basecvt> program is a command-line tool for converting integers
|
|
of arbitrary precision from one radix to another. The current version
|
|
supports radix values from 2 (binary) to 64, inclusive. The first two
|
|
command line arguments specify the input and output radix, in base 10.
|
|
Any further arguments are taken to be integers notated in the input
|
|
radix, and these are converted to the output radix. The output is
|
|
written, one integer per line, to standard output.
|
|
|
|
When reading integers, only digits considered "valid" for the input
|
|
radix are considered. Processing of an integer terminates when an
|
|
invalid input digit is encountered. So, for example, if you set the
|
|
input radix to 10 and enter '10ACF', B<basecvt> would assume that you
|
|
had entered '10' and ignore the rest of the string.
|
|
|
|
If no values are provided, no output is written, but the program
|
|
simply terminates with a zero exit status. Error diagnostics are
|
|
written to standard error in the event of out-of-range radix
|
|
specifications. Regardless of the actual values of the input and
|
|
output radix, the radix arguments are taken to be in base 10 (decimal)
|
|
notation.
|
|
|
|
=head1 DIGITS
|
|
|
|
For radices from 2-10, standard ASCII decimal digits 0-9 are used for
|
|
both input and output. For radices from 11-36, the ASCII letters A-Z
|
|
are also included, following the convention used in hexadecimal. In
|
|
this range, input is accepted in either upper or lower case, although
|
|
on output only lower-case letters are used.
|
|
|
|
For radices from 37-62, the output includes both upper- and lower-case
|
|
ASCII letters, and case matters. In this range, case is distinguished
|
|
both for input and for output values.
|
|
|
|
For radices 63 and 64, the characters '+' (plus) and '/' (forward
|
|
solidus) are also used. These are derived from the MIME base64
|
|
encoding scheme. The overall encoding is not the same as base64,
|
|
because the ASCII digits are used for the bottom of the range, and the
|
|
letters are shifted upward; however, the output will consist of the
|
|
same character set.
|
|
|
|
This input and output behaviour is inherited from the MPI library used
|
|
by B<basecvt>, and so is not configurable at runtime.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
dec2hex(1), hex2dec(1)
|
|
|
|
=head1 AUTHOR
|
|
|
|
Michael J. Fromberger <sting@linguist.dartmouth.edu>
|
|
Thayer School of Engineering, Hanover, New Hampshire, USA
|