从数字说起

数字

数学,数学中数字分成很多类别

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中的小数在运算时候会有偏差

你可能感兴趣的:(从数字说起)