Bit Flip-Bit Negation

5 views (last 30 days)
Sal
Sal on 29 Aug 2011
Hi, There is a way to do a single or multiple bit flip. For bit flip i mean the negation of only that bit in a decimal number. for example: bitflip(8,2) = 10 this should mean a negation on second bit of 8. Thank You

Accepted Answer

Walter Roberson
Walter Roberson on 29 Aug 2011
bitflip = @(val, n) bitxor(val, 2.^(n-1));

More Answers (1)

Paulo Silva
Paulo Silva on 29 Aug 2011
d=8; %decimal value
p=2; %position of the bit to flip
b=dec2bin(d); %convert to binary
%b(p)=num2str(~str2num(b(p))); %flip the bit (wrong place)
b(numel(b)+1-p)=num2str(~str2num(b(numel(b)+1-p))); %flip the bit
dbf=bin2dec(b); %convert to decimal and here you have your result

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!