dc (also known as /usr/bin/dc or as the
Unix desk calculator) is definitely
the most useful command you can find on a Unix system. I
can't imagine a single working day without using dc
(especially with one dollar being (roughly) 6.2931236763 French
Francs).
How desesperate I was when I discovered that dc doesn't
work correctly on SunOS 5.6!
Just try a simple division like, say,
Another problem with dc is that it sometimes refuses
to write ASCII codes greater than 99 with the P
command, especially on SunOS systems (including
SunOS 4). I don't know if it is a bug (since I don't know
exactly what the P command is supposed to do), but I
think 99 is a pretty strange limit... In any case, it prints those
characters correctly on a Silicon Graphics computer (free
ad) and on my linux machine (another free ad).
To test your version of dc, try to type in:
dcthen
3808936911278909389359514998203616329962227439192148[d256%P256/d0<.]ds.xIf it works, you can then try:
970313512859254401102697436301630872058487784302540104[d256%P256/d0<.]ds.x
If your dc is able to print ASCII characters over
99, you can try this one. Be sure to type a single line (here is a
file with that line; you can
download it and try
22208085721160815839326341402121883690522320029255552164456082082121507399131784888796775404393238740752073581292176033192975608648980579511790754074629932624904826033926771561352802702304711849306991432140783663141097741410673769879986682209343466281135283290275369909264160273176470124389744289584917009576579173596679560702849116170806711176042540325188738564140628164804618257135693047847192850818282310363304691273054958318318136191456275934310979155326791959077883445003166261104834773132040707456928546349673980840313948708349674193786434159922651000968311352206702569130007195445654084933953345626389764219705628257612293204376976748352217929337471880882231223685405877498688770919610871973453341673913923792234893241993439245115105190893660465508673064373840268054184063151225377582060655786260788736204677135397194609418373902725670020397378638535454535982247377168952102335040177207305844444366209308523996849245976720417612176719067483022960817121007244452665449784273243174997760034496193814960150784537785113589011725985900508524882770853637523676303240173952011467376200157457202234158542518689678707600958087139914974630505378072055818423497887022672894966264722482896163204923500950712750800537457664585469095374214293974296229117403664516032413259929513310658563843081832487569416683206341446732898062734501513714984552459725473478529038715898310732843126214088302700527765333188909878114118156328607905954179948741014531467629112351746391357169021505149742077359053197219166630939696390194435167157513452231104227665811363415438461304936968404285629177347016678518931947203796484167545101613670772251307345495413035233907657705241691280430994746768012380728375146653630623831838222282318165089162386341671976737726353273451886027886364291170031129520721957416004799824490011955162466021287535364309928388542132049900161052116530089934228815775998215778916104959359698408064987438386886161480778575982275751968826631954742887974749292068020577501261842082809483702986629865701617200056158514119921272726266484084142349717069035717802916618873448175705514451223911583066310022020808646584937752763866798004057371097500872885733222570967153949159920525516838117787583988167897342360101235912871520761154734770678309671549603175730098764310659277164535040418340982101759825495735066065501823775306294622701628580346350888711132078451931296748345416719473558304071712[d256%P256/d0<.]ds.x
And that's how dc can recite poetry...
Can you guess what this dc program is doing? (There
should be an International Obfuscated DC Code
Contest...)
2p3p[dl!d2+s!%0=@l!l^!<#]s#[s/0ds^]s@[p]s&[ddvs^3s!l#x0<&2+l.x]ds.x
But dc can also be useful. For instance:
echo "$1[p]s2[lip/dli%0=1dvsr]s12sid2%0=13sidvsr[dli%0=1lrli2+dsi!>.]ds.xd1<2" | dcis a small shell-script that can replace the
factor
program you can find on some linux systems. It has no limit on
the size of the numbers and can tell you that 12345678901 is factor program
cannot. (If you don't call that a useful fact...)
>
Last modified: Thu Apr 12 18:32:01 EDT 2001