📄 numerical-constants.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><TITLE>Numerical Constants</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.57"><LINKREL="HOME"TITLE="Advanced Bash-Scripting Guide"HREF="index.html"><LINKREL="UP"TITLE="Operations and Related Topics"HREF="operations.html"><LINKREL="PREVIOUS"TITLE="Operations and Related Topics"HREF="operations.html"><LINKREL="NEXT"TITLE="Beyond the Basics"HREF="part3.html"><METAHTTP-EQUIV="Content-Style-Type"CONTENT="text/css"><LINKREL="stylesheet"HREF="common/kde-common.css"TYPE="text/css"><METAHTTP-EQUIV="Content-Type"CONTENT="text/html; charset=iso-8859-1"><METAHTTP-EQUIV="Content-Language"CONTENT="en"><LINKREL="stylesheet"HREF="common/kde-localised.css"TYPE="text/css"TITLE="KDE-English"><LINKREL="stylesheet"HREF="common/kde-default.css"TYPE="text/css"TITLE="KDE-Default"></HEAD><BODYCLASS="SECT1"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#AA0000"VLINK="#AA0055"ALINK="#AA0000"STYLE="font-family: sans-serif;"><DIVCLASS="NAVHEADER"><TABLEWIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Advanced Bash-Scripting Guide: An in-depth exploration of the art of shell scripting</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="operations.html">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">Chapter 8. Operations and Related Topics</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="part3.html">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="NUMERICAL-CONSTANTS">8.2. Numerical Constants</A></H1><P><ANAME="NUMCONSTANTS"></A>A shell script interprets a number as decimal (base 10), unless that number has a special prefix or notation. A number preceded by a <TTCLASS="REPLACEABLE"><I>0</I></TT> is <TTCLASS="REPLACEABLE"><I>octal</I></TT> (base 8). A number preceded by <TTCLASS="REPLACEABLE"><I>0x</I></TT> is <TTCLASS="REPLACEABLE"><I>hexadecimal</I></TT> (base 16). A number with an embedded <TTCLASS="REPLACEABLE"><I>#</I></TT> evaluates as <TTCLASS="REPLACEABLE"><I>BASE#NUMBER</I></TT> (with range and notational restrictions).</P><DIVCLASS="EXAMPLE"><HR><ANAME="NUMBERS"></A><P><B>Example 8-4. Representation of numerical constants</B></P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING"> 1 #!/bin/bash 2 # numbers.sh: Representation of numbers in different bases. 3 4 # Decimal: the default 5 let "dec = 32" 6 echo "decimal number = $dec" # 32 7 # Nothing out of the ordinary here. 8 9 10 # Octal: numbers preceded by '0' (zero) 11 let "oct = 032" 12 echo "octal number = $oct" # 26 13 # Expresses result in decimal. 14 # --------- ------ -- ------- 15 16 # Hexadecimal: numbers preceded by '0x' or '0X' 17 let "hex = 0x32" 18 echo "hexadecimal number = $hex" # 50 19 # Expresses result in decimal. 20 21 # Other bases: BASE#NUMBER 22 # BASE between 2 and 64. 23 # NUMBER must use symbols within the BASE range, see below. 24 25 26 let "bin = 2#111100111001101" 27 echo "binary number = $bin" # 31181 28 29 let "b32 = 32#77" 30 echo "base-32 number = $b32" # 231 31 32 let "b64 = 64#@_" 33 echo "base-64 number = $b64" # 4031 34 # This notation only works for a limited range (2 - 64) of ASCII characters. 35 # 10 digits + 26 lowercase characters + 26 uppercase characters + @ + _ 36 37 38 echo 39 40 echo $((36#zz)) $((2#10101010)) $((16#AF16)) $((53#1aA)) 41 # 1295 170 44822 3375 42 43 44 # Important note: 45 # -------------- 46 # Using a digit out of range of the specified base notation 47 #+ gives an error message. 48 49 let "bad_oct = 081" 50 # (Partial) error message output: 51 # bad_oct = 081: value too great for base (error token is "081") 52 # Octal numbers use only digits in the range 0 - 7. 53 54 exit 0 # Thanks, Rich Bartell and Stephane Chazelas, for clarification.</PRE></TD></TR></TABLE><HR></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLEWIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="operations.html">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="index.html">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="part3.html">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">Operations and Related Topics</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="operations.html">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">Beyond the Basics</TD></TR></TABLE></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -