⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 numerical-constants.html

📁 Shall高级编程
💻 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.76b+"><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"><TABLESUMMARY="Header navigation table"WIDTH="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"ACCESSKEY="P">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"ACCESSKEY="N">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="NUMERICAL-CONSTANTS"></A>8.2. Numerical Constants</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&nbsp;#!/bin/bash   2&nbsp;# numbers.sh: Representation of numbers in different bases.   3&nbsp;   4&nbsp;# Decimal: the default   5&nbsp;let "dec = 32"   6&nbsp;echo "decimal number = $dec"             # 32   7&nbsp;# Nothing out of the ordinary here.   8&nbsp;   9&nbsp;  10&nbsp;# Octal: numbers preceded by '0' (zero)  11&nbsp;let "oct = 032"  12&nbsp;echo "octal number = $oct"               # 26  13&nbsp;# Expresses result in decimal.  14&nbsp;# --------- ------ -- -------  15&nbsp;  16&nbsp;  17&nbsp;# Hexadecimal: numbers preceded by '0x' or '0X'  18&nbsp;let "hex = 0x32"  19&nbsp;echo "hexadecimal number = $hex"         # 50  20&nbsp;  21&nbsp;echo $((0x9abc))                         # 39612  22&nbsp;#     ^^      ^^   double-parentheses arithmetic expansion/evaluation  23&nbsp;# Expresses result in decimal.  24&nbsp;  25&nbsp;  26&nbsp;  27&nbsp;# Other bases: BASE#NUMBER  28&nbsp;# BASE between 2 and 64.  29&nbsp;# NUMBER must use symbols within the BASE range, see below.  30&nbsp;  31&nbsp;  32&nbsp;let "bin = 2#111100111001101"  33&nbsp;echo "binary number = $bin"              # 31181  34&nbsp;  35&nbsp;let "b32 = 32#77"  36&nbsp;echo "base-32 number = $b32"             # 231  37&nbsp;  38&nbsp;let "b64 = 64#@_"  39&nbsp;echo "base-64 number = $b64"             # 4031  40&nbsp;# This notation only works for a limited range (2 - 64) of ASCII characters.  41&nbsp;# 10 digits + 26 lowercase characters + 26 uppercase characters + @ + _  42&nbsp;  43&nbsp;  44&nbsp;echo  45&nbsp;  46&nbsp;echo $((36#zz)) $((2#10101010)) $((16#AF16)) $((53#1aA))  47&nbsp;                                         # 1295 170 44822 3375  48&nbsp;  49&nbsp;  50&nbsp;#  Important note:  51&nbsp;#  --------------  52&nbsp;#  Using a digit out of range of the specified base notation  53&nbsp;#+ gives an error message.  54&nbsp;  55&nbsp;let "bad_oct = 081"  56&nbsp;# (Partial) error message output:  57&nbsp;#  bad_oct = 081: value too great for base (error token is "081")  58&nbsp;#              Octal numbers use only digits in the range 0 - 7.  59&nbsp;  60&nbsp;exit 0       # Thanks, Rich Bartell and Stephane Chazelas, for clarification.</PRE></TD></TR></TABLE><HR></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="operations.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="index.html"ACCESSKEY="H">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="part3.html"ACCESSKEY="N">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"ACCESSKEY="U">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 + -