首页 > 其他分享 >整型变量0和1相互切换

整型变量0和1相互切换

时间:2024-10-26 18:31:41浏览次数:1  
标签:status 运算 切换 异或 整型 使用 变量

今天在做项目时遇到一个问题,要对用户的状态进行切换。前端传过来的是一个整型变量status,1为启用,0为禁用。如何切换呢?

使用数学运算

status = 1 - status;

很明显,当status为1时,1-status为0;当status为0时,1-status为1。

使用位运算

status ^= 1; // 使用异或运算

^= 是位异或运算符,它会将 status 的每一位与其右侧的值进行异或运算。由于 0 ^ 1 == 1 且 1 ^ 1 == 0。

使用三目运算符

status = (status == 0) ? 1 : 0;

使用数组

int[] toggleMap = {1, 0};
status = toggleMap[status];

用一个映射数组来实现转换

总结

使用简单的数学运算或位运算底层实现比较快,而使用条件表达式或映射数组可读性更强。建议防御性编程

标签:status,运算,切换,异或,整型,使用,变量
From: https://www.cnblogs.com/code-laoq/p/18504324

相关文章

  • 虚幻引擎实操(4)《原神,启动!》(切换小队角色)
     介绍 这个文章会带大家用虚幻引擎粗略的实现原()神中的一些功能,当然啦不是做一个完整的原神出来,主要面向对象为没有编程基础或者刚刚入门的同学前言好像对于大部分0基础的同学来说虚幻引擎的学习比较抽象(做游戏本身就挺抽象的,没有狠活挣不出来qwq)。比如虚幻的界面,数百个接......
  • Redis的详细安装教程和环境变量配置(附有详细步骤讲解及相关操作截图和代码)
    NoSQL简介NoSQL数据库是一种非关系型数据库,它在处理大规模、高并发的动态网站数据时具有明显优势。NoSQL数据库的出现是为了解决传统关系数据库在处理大数据量和高并发请求时遇到的性能瓶颈。NoSQL数据库的设计允许它们在分布式环境中更有效地扩展,同时提供灵活的数据模型来适应不......
  • 学习笔记489—MATLAB针对大于2GB变量保存的问题
    MATLAB针对大于2GB变量保存的问题新安装的MATLAB中保存2GB以上大小的数据时会出现如下警告:未保存变量xx,对于大于2GB的变量,请使用MAT-file版本7.3或更高版本。其解决方案是:进入MATLAB主页,点击“预设”选项:点击常规后,点击MAT-File,选择第一个格式即可。 参考链接:https:/......
  • 多特征变量序列预测(五) CEEMDAN+CNN-LSTM风速预测模型
    往期精彩内容:时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较全是干货|数据集、学习资料、建模资源分享!EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现(一)EMD-CSDN博客EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现(二)EEMDEMD、EEM......
  • java中变量的命名规范是?
    一、在Java中,变量的命名规范有助于提高代码的可读性和可维护性。以下是一些主要的命名规范:小驼峰命名法(camelCase)变量名的第一个单词首字母小写,后续单词的首字母大写。例如:firstName,totalAmount,isAvailable避免使用单字母命名除非在非常简单的情况下(如循环计数器),......
  • Linux操作系统切换设置系统语言
    随着工作环境中变化,我们在使用电脑时,可能要使用不同的系统语言环境,那计算机如何切换成我们需要的系统语言呢,针对Linux操作系统,这里有两种方法。一是通过桌面图形化界面切换,这种方法操作起来直观、但是操作复杂。二是通过终端窗口用命令切换,这种方法操作简便,但是对Linux操作系统......
  • LSTM-ANN基于长短期记忆神经网络结合人工神经网络的多变量回归预测Matlab
    LSTM-ANN基于长短期记忆神经网络结合人工神经网络的多变量回归预测Matlab目录LSTM-ANN基于长短期记忆神经网络结合人工神经网络的多变量回归预测Matlab预测结果评价指标基本介绍程序设计参考资料预测结果评价指标训练集数据的R2为:0.99805测试集数据的R2为:0.9......
  • 【thinkphp8】00007 内置服务器,切换php版本
    前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......
  • JDK 环境变量配置
    配置JDK(JavaDevelopmentKit)环境变量是确保Java开发环境正常工作的关键步骤。以下是如何在不同操作系统上配置JDK环境变量的详细指南。1.下载和安装JDK在配置环境变量之前,请确保已经下载并安装了JDK。可以从Oracle官方网站或OpenJDK下载。2.配置环境变量Windows......
  • JavaWeb合集15-线程局部变量ThreadLocal
    十五、ThreadLocalThreadLocal并不是一个Thread,,而是Thread的局部变量。ThreadLocal为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问。场景:通过过滤器/过滤器获取到JWT,可将JWT值存储到ThreadLocal中,当执行到需要JWT的......