Bit Flip-Bit Negation

22 visualizaciones (últimos 30 días)
Sal
Sal el 29 de Ag. de 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

Respuesta aceptada

Walter Roberson
Walter Roberson el 29 de Ag. de 2011
bitflip = @(val, n) bitxor(val, 2.^(n-1));

Más respuestas (1)

Paulo Silva
Paulo Silva el 29 de Ag. de 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

Categorías

Más información sobre Argument Definitions en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by