Expand description
This crates provides two functions for accessing the individual bits of integers:
.bit(i)
to get one specific bit..bits(i..j)
to get a range of bits.
It also provides similar functions for changing specific bits of integers:
.set_bit(i, bit)
to set one specific bit..set_bits(i..j, bits)
to set a range of bits.
These variants return a new integer, instead of modifying it:
§Example
use intbits::Bits;
assert_eq!(2.bit(0), false);
assert_eq!(2.bit(1), true);
assert_eq!(2.bit(2), false);
assert_eq!(0b1011u32.bits(0..2), 0b11);
assert_eq!(0b1011u32.bits(2..4), 0b10);
assert_eq!(0xFFu8.with_bit(3, false), 0xF7);
assert_eq!(0xFFu8.with_bits(4..8, 3), 0x3F);