साथ bash
(या उपलब्ध कराई गई खोल, printf
आदेश उपलब्ध है (एक मानक POSIX अक्सर गोले में बनाया गया आदेश)):
printf '%x\n' 85
इसके साथ zsh
, आप यह भी कर सकते हैं:
dec=85
hex=$(([##16]dec))
यह 2 से 36 तक बेस के लिए काम करता है ( 0-9a-z
अंकों के रूप में असंवेदनशील के साथ )।
के साथ ksh93
, आप उपयोग कर सकते हैं:
dec=85
base54=$(printf %..54 "$dec")
जो 2 से 64 तक ( 0-9a-zA-Z@_
अंकों के साथ) आधारों के लिए काम करता है ।
साथ ksh
और zsh
, वहाँ भी है:
$ typeset -i34 x=123; echo "$x"
34#3l
हालांकि यह ksh88, zsh और pdksh में 36 और ksh93 में 64 तक सीमित है।
ध्यान दें कि वे सभी long
आपके सिस्टम पर पूर्णांकों के आकार तक सीमित हैं ( int
कुछ गोले के साथ)। किसी भी बड़ी चीज के लिए, आप उपयोग कर सकते हैं bc
या dc
।
$ echo 'obase=16; 9999999999999999999999' | bc
21E19E0C9BAB23FFFFF
$ echo '16o 9999999999999999999999 p' | dc
21E19E0C9BAB23FFFFF
POSIX द्वारा आवश्यक 2 से लेकर कुछ संख्या तक समर्थित आधारों के साथ कम से कम 99 के रूप में उच्च होने के लिए। 16 से अधिक आधारों के लिए, 9 से अधिक अंकों को अंतरिक्ष-पृथक 0-गद्देदार दशमलव संख्याओं के रूप में दर्शाया जाता है।
$ echo 'obase=30; 123456' | bc
04 17 05 06
या उसी के साथ dc
( bc
उपयोग किया जाता है (और अभी भी कुछ प्रणालियों पर है) चारों ओर एक आवरण dc
):
$ echo 30o123456p | dc
04 17 05 06