數字
數學,數學中數字分成很多類別
1,3,5,7,9叫整型
1.2,0.15, 3.14等這類叫小數
-1,-10等這類叫負數
....
進制
在javascript中數學中數字只有一個類別就叫數字(Number),但是在js中有幾種表示法,根據進制不同分成10進制(最常見的),8進制,16進制等等
10進制
寫法跟數學中書寫法是一樣的,100,101
8進制
寫法前面必須加上0,或者0o,再或者0O
例如011或者0o11,或者0O11
1 * 8 + 1 = 9這面這三種情況表示十進制中的9
注意在8進制中,每個位上的數字進制是8,因此不能大于等于8,一定是8以內的數據
注意如果通過第一種方式表示8進制數 有0 + 8進制數,此時要注意了
如果后面的數字大于等于8會轉化成10進制的數
如果后面的數字小于8,就會按照8進制來處理
我們工作中為了屏蔽這類問題我們通過用后兩種表示法加上一個o或者O,來表示8進制數
16進制
寫法在恰面加上0x
例如0x11表示十進制中的17
在十六進制中,如果某個位上的數字大于9,就用字母a-f來表示
所以
10用a表示
11用b表示
12用c表示
13用d表示
14用e表示
15用f表示
當到16的時候,由于達到進制,因此會向前一位進一,該位變成0
這類表示方式在css中應用很廣,回想我們寫的css都是用該形式表示法,例如紅色#ff000,綠色#00ff00
Ff就是15 * 16 + 15 = 255(十進制)
注意js不區分16進制大小寫字母,因此可以使用大寫字母小寫字母都可以,也可以混用(工作中不建議混用,要不都大寫要不都小寫) 例如0xFf表示10進制的255
注意我們雖然可以在js中通過不同進制來定義一個數字,但是js在輸出的時候,是10進制的
數字的冪的表示法,
在數學中我們有個計數的方式叫科學計數法,同樣js也支持
在js中通過e來顯示10的底數
100可以表示1e2
1.2345e5 = 1.2345 * 10 ^ 5 = 123450
這種方式的好處,簡化對大數字的表示
12300000 = 1.23e7 = 0.123e8 = .123e8 (對于初學者來說盡量不要省略小數點前面的0,)
其實這個冪就是表示的位數
在js中負數的表示需要前面記上一個-(符號)
負數的符號可以應用在任何表示法中,比如冪表示法,8進制,16進制,10進制中等等
例如表示-11
十進制-11
8進制-013或者-0o13或者-0O13
16進制-0xb
冪的表示-1.1e1或者0.11e2或者.11e2
無窮
Js是一個計算機語言,存儲數據是有空間的,對每一個數字他們最大存儲空間是8bit,因此他有表示的
最大值Number.MAX_VALUE是1.7976931348623157e+308
最小值Number.MIN_VALUE是5e-324
如果定義的數字比這兩個數字大,此時此時js用正負無窮來表示
Infinity表示正無窮
-Infinity表示負無窮
注意js中有兩種0,一個是正0,一個是負0
不是數字
數學中除數不能是0,如果出現了0,那么就是正負無窮
如果除數與被除數都是0,那么返回的就是一個NaN表示不是一個數(也是一個數字類型)
小數
Js中小數使用單精度浮點數表示,因此在計算上會有一些bug(0.1 + 0.2 != 0.3)
Js中的小數在運算時候會有偏差