7.TypeScript位运算符
位操作是程序设计中对位模式按位或二进制数的一元和二元操作。
位运算符与描述如下:

位运算符中,除 ~ 以外,其余均为二元运算符。
二进制与十进制
现代的计算机和依赖计算机的设备里都使用二进制。
大多数情况下包括日常生活中使用的都是十进制。
二进制数据用0和1来表示,进位规则是“逢二进一”,十进制是“逢十进一”。
二进制与十进制的转换是计算机科学中的基本技能。
- 二进制数转换为十进制数
方法:“按权展开求和”。
先将二进制的数写成加权系数展开式,而后根据十进制的加法规则进行求和 。
【例】:
![image]()
规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。
- 十进制数转换为二进制数
十进制数转换为二进制数要分整数部分和小数部分分别转换,最后再组合到一起
整数部分采用 "除2取余,逆序排列"法。用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
![image]()
小数部分要用“乘2取整”法,小数乘2得到的结果取整保留。未取的小数乘2.依次类推,直到剩余的小数为0.让后把之前每次保留的整数按先后顺序从左到右排列,就得到了二进制数的小数部分
![image]()
实例:
let a = 2;
let b = 3;
let result;
result = a & b;
/**
* a的二进制:010
* b的二进制:011
* a&b的二进制:010 = 2;
*/
console.log("按位与:" + result);
/**
* 按位或:a|b = 011 = 3;
*/
result = a | b;
console.log("按位或:" + result);
/**
* 按位取反:~a = 101 = -3;
*/
result = ~a;
console.log("按位取反:" + result);
/**
* 按位异或:a^b = 001 = 1;
*/
result = a ^ b;
console.log("按位异或:" + result);
/**
* 左移:a<<b
* 0000 0010向左移动3位-> 0 0010 000 = 16
*/
result = a << b;
console.log("左移:" + result);
/**
* 右移:a>>b
* 0000 0010向右移动3位-> 000 0000 0 = 0
*/
result = a >> b;
console.log("右移:" + result);




浙公网安备 33010602011771号