ثابت‌های عددی

فصل 8. عملکردها و مباحث مربوط

‎8.2‎- ثابت‌های عددی

یک اسکریپت پوسته هر عددی را به صورت دسیمال (مبنای ۱۰) تفسیر می‌کند، مگر اینکه عدد دارای پیشوند یا نشانه ویژه‌ای باشد. عددی که یک 0 بر آن مقدم گردیده، اکتال (مبنای ۸) است. عددی که ‎0x‎ پیشوند آن باشد، هگزا دسیمال (مبنای ۱۶) است. یک عدد با کاراکتر # جای گرفته در میان ارقام آن، به منزله ‎BASE#NUMBER‎ (با محدودیت‌های دامنه و نشانه‌گذاری) ارزیابی می‌شود.

مثال ‎8-4‎. معرفی کردن ثابت‌های عددی

#!/bin/bash
#   

#                               پیش‌فرض :‎دسیمال‎
let "dec = 32"
echo "decimal number = $dec"             #
#         

# --------- ------ -- -------

#
let "oct = 032"
echo "octal number = $oct"               #
#

# --------- ------ -- -------


#
let "hex = 0x32"
echo "hexadecimal number = $hex"         #

echo $((0x9abc))                         #
#
#           

# --------- ------ -- -------

# 
#
#


let "bin = 2#111100111001101"
echo "binary number = $bin"              #

let "b32 = 32#77"
echo "base-32 number = $b32"             #

let "b64 = 64#@_"
echo "base-64 number = $b64"             #
#
#   


echo

echo $((36#zz)) $((2#10101010)) $((16#AF16)) $((53#1aA))
                                         #


#                     
#                   
#
#

let "bad_oct = 081"
#‏
#
# 

exit $?   #

#