use std::fmt;
struct BitSet(u16);
impl fmt::Display for BitSet {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{:016b}", self.0)
}
}
fn main() {
// 16 bit
let mut n: u16 = 4660;
println!("{}", BitSet(n));
n = (n << 8) | (n >> 8);
println!("{}", BitSet(n));
}
/*
run:
0001001000110100
0011010000010010
*/