您的位置:首页 > 游戏 > 游戏 > 网络的推广方式有哪些_互联斗士网站建站_搜索引擎排名查询工具_爱站网seo工具

网络的推广方式有哪些_互联斗士网站建站_搜索引擎排名查询工具_爱站网seo工具

2024/10/11 11:43:07 来源:https://blog.csdn.net/liuxiaoqi_123/article/details/142845550  浏览:    关键词:网络的推广方式有哪些_互联斗士网站建站_搜索引擎排名查询工具_爱站网seo工具
网络的推广方式有哪些_互联斗士网站建站_搜索引擎排名查询工具_爱站网seo工具

目录

JS 中的位运算符

1. 按位与 ( &)

2. 按位或 ( | )

3. 按位异或(^)

4. 按位非 ( ~)

5. 左移 ( <<)

6. 有符号右移 ( >>)

7. 无符号右移 ( >>>)

位运算符使用

确定偶数或奇数

四舍五入

交换值

RGB 转 Hex 


与许多其他编程语言不同,JavaScript 不区分整数、短整数、长整数或浮点数

  • 整数精度: JavaScript 整数最多为 15 位,没有小数或指数。
  • 浮点精度:虽然提供最多 17 位小数,但 JavaScript 中的浮点计算并不总是 100% 准确!!!
  • 按位运算:直接对二进制表示进行操作,快速的低级运算。它们的速度是以可读性为代价的——通常使它们不适合许多场景。

JS 中的位运算符

1. 按位与 ( &)

此运算符将两个二进制数的相应位组合在一起。两个位都需要为 1,结果才为 1。

// 二进制: 1是 00000001, 3 是 00000011
console.log(1 & 3); // 输出: 1 (二进制: 00000001)

2. 按位或 ( | )

只需其中一位对应位为 1,结果即可为 1。

// 二进制: 1是 00000001, 3 是 00000011
console.log(1 | 3); // 输出: 3 (二进制: 00000011)

3. 按位异或(^)

仅当相应位之一为 1 时才返回 1。如果两位相同(都是 0 或都是 1),则结果为 0。

console.log(1 ^ 3); // 输出: 2 (二进制: 00000010)

4. 按位非 ( ~)

翻转位 — 1 变为 0,0 变为 1。本质上,它是计算数字的二进制补码。

console.log(~1); // 输出: -2 

一个数加上它的二进制补码总是等于 -1。

5. 左移 ( <<)

此运算符将数字的位向左移动指定位数。右侧的空位用 0 填充。

console.log(1 << 1); // 输出: 2 (二进制: 00000010)

6. 有符号右移 ( >>)

此运算符将位向右移动。左侧现在为空的位将用符号位(最左边的位)填充。此“符号传播”保留了原始数字的符号,因此得名“有符号右移”。

// 1的二进制表示为: 00000000 00000000 00000000 00000001
// 0的二进制表示为: 00000000 00000000 00000000 00000000
console.log(1 >> 1) // 0

7. 无符号右移 ( >>>)

与有符号右移类似,此运算符也将位向右移动。但是,无论原始数字的符号是什么,它始终用 0 填充最左边的空缺位。这意味着结果始终为非负数。

对于非负数,有符号和无符号右移都会产生相同的输出!

位运算符使用案例

确定偶数或奇数

console.log(2 & 1); // 输出: 0  (偶数)
console.log(3 & 1); // 输出: 1 (奇数)

四舍五入

console.log(~~6.83); // 输出: 6
console.log(6.83 >> 0); // 输出: 6
console.log(6.83 << 0); // 输出: 6
console.log(6.83 | 0); // 输出: 6// >>> 不能舍入负数
console.log(6.83 >>> 0); // 输出: 6

交换值

var a = 5;
var b = 8;a ^= b;
b ^= a;
a ^= b;console.log(a); // 输出: 8
console.log(b); // 输出: 5

RGB 转 Hex 

/***RGB的十六进制颜色值* @param {String} hex 十六进制颜色字符串* @return {String} RGB 颜色字符串*/
function hexToRGB(hex) {var hexx = hex.replace('#', '0x');var r = hexx >> 16;var g = (hexx >> 8) & 0xff;var b = hexx & 0xff;return `rgb(${r}, ${g}, ${b})`;
}/*** RGB颜色转换为十六进制颜色* @param {String} rgb 颜色字符串* @return {String} 十六进制颜色字符串*/
function RGBToHex(rgb) {var rgbArr = rgb.split(/[^\d]+/);var color = (rgbArr[1] << 16) | (rgbArr[2] << 8) | rgbArr[3];return '#' + color.toString(16);
}
// ------------------------------------------------
hexToRGB('#ffffff'); // 'rgb(255,255,255)'
RGBToHex('rgb(255,255,255)'); // '#ffffff'

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com