ด้วย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
แม้ว่าจะ จำกัด อยู่ที่ฐานสูงสุด 36 ใน ksh88, zsh และ pdksh และ 64 ใน ksh93
โปรดทราบว่าสิ่งเหล่านั้นถูก จำกัด ไว้ที่ขนาดของlong
จำนวนเต็มในระบบของคุณ ( int
มีบางเชลล์) สำหรับสิ่งที่ใหญ่กว่าคุณสามารถใช้หรือbc
dc
$ echo 'obase=16; 9999999999999999999999' | bc
21E19E0C9BAB23FFFFF
$ echo '16o 9999999999999999999999 p' | dc
21E19E0C9BAB23FFFFF
ด้วยฐานที่รองรับตั้งแต่ 2 ถึงบางหมายเลขที่ POSIX ต้องการอย่างน้อยจะสูงถึง 99 สำหรับฐานที่มากกว่า 16 ตัวเลขที่มากกว่า 9 จะแสดงเป็นเลขฐานสิบ 0 เบาะที่คั่นด้วยช่องว่าง
$ echo 'obase=30; 123456' | bc
04 17 05 06
หรือเหมือนกันกับdc
( bc
เคยเป็น (และยังคงอยู่ในบางระบบ) เสื้อคลุมรอบdc
):
$ echo 30o123456p | dc
04 17 05 06