数值类型
int
:整数值,其取值通常位于 -2^53 和 2^53 之间double
:双精度浮点数num
:int
和double
的父类
位运算
&
:与运算,两边同位为1
才是1
,否则为0
dart
1 0 1 0 10
0 0 1 0 2
--------
0 0 1 0 2
|
:或运算,两边同位遇1
变1
,否则为0
dart
1 0 1 0 10
0 0 1 0 2
--------
1 0 1 0 10
~
:按位取反,先求补码,再取反,最后加1
dart
0 1 0 0 1 9 二进制 最高位 0 整数 1 负数
0 0 1 1 0 补码
1 1 0 0 1 取反
1 1 0 1 0 加1
--------
1 1 0 1 0 -10
^
:按位异或,两边同位不相同的才是1
,否则为0
dart
1 0 1 0 10
0 0 1 0 2
--------
1 0 0 0 8
<<
:左移运算
dart
0 0 0 1 1 二进制
0 0 1 0 左移一位 2
0 1 0 0 左移一位 4
1 0 0 0 左移一位 8
>>
:右移运算
dart
1 0 0 0 8 二进制
0 1 0 0 右移一位 4
0 0 1 0 右移一位 2
0 0 0 1 右移一位 1