🚀 如何把0和1互转?

📅 发布于 2025年12月 | 👤 作者:博主 | 🏷️ 标签:"0和1互转", Web开发, 前端, 面试

欢迎来到我的博客文章!所有文章都是满满的前端干货,文章简明扼要。

总结

+!n;n ^ 1;n === 0 ? 1 : 0;1 - n;

🌟 方法 1:逻辑非 + 转数字(最直观):

        
        function toggleBit(n) {
          return +!n;  // 或 Number(!n)
        }

        // 示例
        toggleBit(0); // → 1
        toggleBit(1); // → 0
        
       

⚠️ 注意:仅适用于输入严格为 0 或 1;若传入其他“假值”(如 null, undefined, ''),也会转成 1。

🌟 方法 2:异或(XOR)——高效且精准:

        
        function toggleBit(n) {
          return n ^ 1;
        }

        // 示例
        toggleBit(0); // 0 ^ 1 = 1
        toggleBit(1); // 1 ^ 1 = 0
        
       

✅ 优点:运算快、严格只对 0/1 有效

🌟 方法 3:三元运算符(最易读):

        
        const toggleBit = n => n === 1 ? 0 : 1;
        
       

⚠️ 注意:仅适用于输入严格为 0 或 1;

🌟 方法 4:减法(数学简洁):

        
       const toggleBit = n => 1 - n;
        
       

⚠️ 注意:仅适用于输入严格为 0 或 1;

← 返回首页