Bit Flip-Bit Negation

조회 수: 35 (최근 30일)
Sal
Sal 2011년 8월 29일
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

채택된 답변

Walter Roberson
Walter Roberson 2011년 8월 29일
bitflip = @(val, n) bitxor(val, 2.^(n-1));

추가 답변 (1개)

Paulo Silva
Paulo Silva 2011년 8월 29일
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

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by