位运算的小技巧
1 // 1. 使用左移运算符 << 迅速得出2的次方 2 1 << 2 // 4, 即 2的2次方 3 1 << 10 // 1024, 即 2的10次方 4 // 但是要注意使用场景 5 x = 2e9; // 2000000000 6 x << 1; // -294967296 7 8 // 2. 使用 & 判断奇偶性 9 console.log(7 & 1); // 1 10 console.log(8 & 1) ; // 0 11 12 // 3. 使用~、>>、<<、>>>、|来取整 13 console.log(~~11.71) // 11 14 console.log(11.71 >> 0) // 11 15 console.log(11.71 << 0) // 11 16 console.log(11.71 | 0) // 11 17 console.log(11.71 >>> 0) // 11 18 // 注意 >>> 不可对负数取整 19 20 // 4. 使用^来完成值交换 21 let y = 7 22 let z = 1 23 y ^= z 24 z ^= y 25 y ^= z 26 console.log(y) // 1 27 console.log(z) // 7 28 29 // 5. n & (n - 1),如果为 0,说明 n 是 2 的整数幂 30 let n = 24 31 console.log('n & (n - 1)',n & (n - 1)) 32 n = 64 33 console.log('n & (n - 1)',n & (n - 1)) 34 35 // 6. 使用 A + 0.5 | 0 来替代 Math.round() 如果是负数,只需要-0.5 36 let p = 24.7 37 console.log(p + 0.5 | 0) 38 p = -24.7 39 console.log(p - 0.5 | 0)
以自己现在的努力程度,还没有资格和别人拼天赋
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!