From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: To: 9fans@cse.psu.edu Subject: Re: [9fans] german keymap From: rog@vitanuova.com In-Reply-To: <997f919d90dd12f4cf577ea7ea3bbd5a@collyer.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-ldichnxoqweowxvcoqbimrmqfi" Date: Wed, 21 Apr 2004 18:43:37 +0100 Topicbox-Message-UUID: 670853bc-eacd-11e9-9e20-41e7f4b1d025 This is a multi-part message in MIME format. --upas-ldichnxoqweowxvcoqbimrmqfi Content-Disposition: inline Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > One can convert between decimal and other bases (radices) using bc, by > setting the input or output base: [...] > For more general radix conversion, I use db: to add my own 2 cents, i tend to use a little command-line calculator i wrote ages ago to do this sort of thing. i still prefer it to the above tools because it's not interactive (=3D less stuff to type to get the results). it's a reverse polish calculator, which works quite well on the command line, as there's almost no punctuation to get in the way of the shell's syntax (no brackets, and the stuff to be executed is just a list of operands/operators, which maps well to rc's lists). it's also handy for building up an expression incrementally. it's very similar to the inferno version, documented at http://www.vitanuova.com/inferno/man/1/fc.html all calculations are done in floating point, and it's a convenient command-line way of getting access to the floating point library, not to mention converting between bases. e.g. % fc 0x400 1024 % fc -x 1024 0x400 % fc 0400 256 % fc -x 0400 0x100 % fc 22 7 / 3.142857143 % x=3D(1 2 3 4 5 6) % fc $x sum 21 % fc -B 96451234 0b00000101101111111011101010100010 10987654321098765432109876543210 3 2 1 % fc 0b00000101101111111011101010100010 sqrt 9820.958914 % fc -help Usage: fc -[dcxotbB] Option specifies output format: -d decimal -c rune -x hex -o octal -t time -b binary -B annotated binary Operands are decimal(default), hex(0x), octal(0), binary(0b), rune(@), time(hh:mm.ss) Operators are: (number of arguments in brackets) swap[2] dup[1] rep[n] ![1] %[2] p[1] *,=C3=97,x[2] **,xx,^,pow[2]=20 +[2] -[2] /[2] _[1] <<,=C2=AB,shl[2] >>,=C2=BB,shr[2] and,=E2=8B=80[2] =E2= =8B=81,or[2]=20 xor[2] not[1] sum[n] acos[1] asin[1] atan[1] atan2[2] ceil[1]=20 cos[1] cosh[1] deg[1] exp[1] fabs[1] floor[1] fmod[2] ldexp[2]=20 log,ln[1] log10[1] log2[1] rad[1] sin[1] sinh[1] =E2=88=9A,sqrt[1]=20 tan[1] tanh[1] trunc[2]=20 Constants are: =CF=80=3D3.14159 pi=3D3.14159 e=3D2.71828 %=20 i've attached it. someone might find it useful. --upas-ldichnxoqweowxvcoqbimrmqfi Content-Type: application/octet-stream Content-Disposition: attachment; filename=fc.c.gz Content-Transfer-Encoding: base64 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 --upas-ldichnxoqweowxvcoqbimrmqfi--