Bit Flip-Bit Negation

36 Ansichten (letzte 30 Tage)
Sal
Sal am 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

Akzeptierte Antwort

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

Weitere Antworten (1)

Paulo Silva
Paulo Silva am 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

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by