Java Bit Set setBitInLong(long l, long n, int v)

Here you can find the source of setBitInLong(long l, long n, int v)

Description

Set bit n of a 64-bit sequence i to v (0 or 1)

License

Open Source License

Parameter

Parameter Description
i is a 64-bit value
n is the bit that should be set
v is a boolean value

Declaration

public static long setBitInLong(long l, long n, int v) 

Method Source Code

//package com.java2s;
/*//  w  ww .  ja v  a  2 s.co  m
 * Copyright Ericsson AB 2011-2014. All Rights Reserved.
 *
 * The contents of this file are subject to the Lesser GNU Public License,
 *  (the "License"), either version 2.1 of the License, or
 * (at your option) any later version.; you may not use this file except in
 * compliance with the License. You should have received a copy of the
 * License along with this software. If not, it can be
 * retrieved online at https://www.gnu.org/licenses/lgpl.html. Moreover
 * it could also be requested from Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 *
 * BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
 * WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
 * EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
 * OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND,
    
 * EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
 * LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE,
 * YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
 *
 * IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
 * WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
 * REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
 * DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
 * DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY
 * (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
 * INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE
 * OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH
 * HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 *
 */

public class Main {
    /**
     * Set bit n of a 64-bit sequence i to v (0 or 1)
     *
     * @param i is a 64-bit value
     * @param n is the bit that should be set
     * @param v is a boolean value
     * @return
     */
    public static long setBitInLong(long l, long n, int v) {
        if (v != 0) {
            return l | (1L << n); // turn on the bit
        } else {
            return l & ~(1L << n); // turn off the bit
        }
    }
}

Related

  1. setBitAt(int offset, boolean bitValue, byte aByte)
  2. setBitAt(int offset, boolean bitValue, byte aByte)
  3. setBitBiInt(int b0, int b1, int value, int original)
  4. setBitByPos(byte byt, boolean bool, int pos)
  5. setBitInInt(int bits, int bitIndex, boolean flag)
  6. setBitLE(byte[] data, int index)
  7. setBitmapRange(long[] bitmap, int start, int end)
  8. setBitmapRangeAndCardinalityChange(long[] bitmap, int start, int end)
  9. setBitRange(final int val, final int start, final int len, final int newVal)