in reply to How can I set a bit to 0 ?
For example, 0000 ^ 0000 will simply leave all the bits zero.
1111 ^ 0000 will flip all the bits, so they become 1111.
1000 ^ 0000 will flip only the first bit and leave the rest unchanged. Result: 1000
1110 ^ 1101 will flip the first three bits and leave the last one unchanged. Result: 0011
The AND operator turns specific bits OFF. It takes two input numbers. The bits in input number 1 determine which bits in input number will be turned off. The ones that are zero will be turned off. Here is an example:
1001 ^ 0110 = 0000
1100 ^ 0111 = 0100
0000 ^ 1111 = 0000
1000 ^ 1111 = 1000
See, this is really simple. Here is a tiny example program:
#!/usr/bin/perl -w use strict; use warnings; $a = 4; print "\n ORIGINAL = $a"; $a &= 0xFFFB; # 0xFFFB = 1111111111111011 binary print "\nCLEAR BIT = $a"; $a |= 4; print "\n SET BIT = $a"; print("\n XOR BIT = ", ($a ^ 0)); print("\n XOR BIT = ", ($a ^ 0xF)); exit;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How can I set a bit to 0 ?
by AnomalousMonk (Archbishop) on May 28, 2022 at 04:49 UTC |