Java: 将指定的某一bit位 置0、置1、取反

摘要:
将指定的位位置设置为0,设置为1,然后反转:/***Setthespecifiedbitto1**@paramoriginByteRawbytevalue*@parambitIndexbitindex(From0~7)*@returnFinalbytevalue*/publicstaticbytesetSpecifiedBitTo1(byteoriginByte,intbitIndex){returno

将指定的某一个比特位置0、置1、取反:

/**
     * Set the specified bit to 1
     *
     * @param originByte Raw byte value
     * @param bitIndex   bit index (From 0~7)
     * @return Final byte value
     */
    public static byte setSpecifiedBitTo1(byte originByte, int bitIndex) {
        return originByte |= (1 << bitIndex);
    }

    /**
     * Set the specified bit to 0
     *
     * @param originByte Raw byte value
     * @param bitIndex   bit index (From 0~7)
     * @return Final byte value
     */
    public static byte setSpecifiedBitTo0(byte originByte, int bitIndex) {
        return originByte &= ~(1 << bitIndex);
    }

    /**
     * Invert the specified bit
     *
     * @param originByte Raw byte value
     * @param bitIndex   bit index (From 0~7)
     * @return Final byte value
     */
    public static byte setSpecifiedBitToReverse(byte originByte, int bitIndex) {
        return originByte ^= (1 << bitIndex);
    }

    /**
     * Get the value of the specified bit
     *
     * @param originByte Raw byte value
     * @param bitIndex   bit index (From 0~7)
     * @return Final byte value
     */
    public static byte getSpecifiedBitValue(byte originByte, int bitIndex) {
        return (byte) ((originByte) >> (bitIndex) & 1);
    }

免责声明:文章转载自《Java: 将指定的某一bit位 置0、置1、取反》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jdk1.8安装后查看Java -version出错。使用360对app安全进行加固下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SpringBoot 2.x 整合Lombok

Lombok的官方介绍 Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Lombok以简单的注解形式来简化java代码,提高开发人员的开发效率 lombok是一个编译级别的插件,...

【STM32H7教程】第72章 STM32H7的SPI总线基础知识和HAL库API

完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第72章       STM32H7的SPI总线基础知识和HAL库API 本章节为大家讲解SPI(Serial peripheral interface)总线的基础知识和对应的HAL库API。 72.1 初学者重要提示 7...

错误:C:WindowsSystem32ssleay32.dll: Can't load IA 32-bit .dll on a AMD 64-bit

错误:C:WindowsSystem32ssleay32.dll: Can't load IA 32-bit .dll on a AMD 64-bit 错误的原因是:jdk不是64位的,而是32位的。 命令:java-version 把jdk改用64位的。...

串口完整项目之串口收发字符串

  本篇博文设计思想及代码规范均借鉴明德扬至简设计法,加上些自己的理解和灵活应用,希望对自己和大家都有所帮助。核心要素依然是计数器和状态标志位逻辑相配合的设计方式。在最简单的串口收发一字节数据功能基础上,实现字符串收发。   上一篇博文中详细设计了串口发送模块,串口接收模块设计思想基本相同,只不过将总线的下降沿作为数据接收的开始条件。需要注意有两点:其一,...

Syncthing -- 开源的云储存和同步服务工具

Syncthing  -- an open-source file synchronization client/server application Syncthing是一个开源的云存储和同步服务工具,支持Mac OS X、Windows、Linux、FreeBSD和Solaris。 Syncthing由瑞典开发者Jakob Borg发布的,据称用户的数...

【转】NOR Flash擦写和原理分析

1. NOR FLASH 的简单介绍 NOR FLASH 是很常见的一种存储芯片,数据掉电不会丢失.NOR FLASH支持Execute On Chip,即程序可以直接在FLASH片内执行(这意味着存储在NOR FLASH上的程序不需要复制到RAM就可以直接运行).这点和NAND FLASH不一样.因此,在嵌入式系统中,NOR FLASH很适合作为启动程序...