how swap the bits at position L&P of A(I,j).?

2 visualizaciones (últimos 30 días)
Sultan Mehmood
Sultan Mehmood el 11 de Jul. de 2018
Comentada: Guillaume el 20 de Jul. de 2018
A= imread('camera man.png');
k=1;
for I=1:256;
j=1:256;
end
x=0.3;
p=0.343;
for n=2:65536;
if x(n-1)>=0 & x(n-1)<=p
x(n)=x(n-1)/p;
else
x(n)=(1-x(n-1))/(1-p);
end
end
S=(x*255)+1;
Q=0.2;
p=0.343;
for n=2:65536;
if Q(n-1)>=0 & Q(n-1)<=p
Q(n)=Q(n-1)/p;
else
Q(n)=(1-Q(n-1))/(1-p);
end
end
D=(Q*255)+1;
L= mod(S(k),8)+1;
P=mod(D(k),8)+1;
swap??
  2 comentarios
KSSV
KSSV el 11 de Jul. de 2018
What you want to swap?
Sultan Mehmood
Sultan Mehmood el 11 de Jul. de 2018
i want to swap the bits of L&P of A(I,j). help plzz

Iniciar sesión para comentar.

Respuesta aceptada

Guillaume
Guillaume el 11 de Jul. de 2018
Editada: Guillaume el 18 de Jul. de 2018
bits = bitget(A(i, j), [L, P]);
A(i, j) = bitset(A(i, j), P, bits(1));
A(i, j) = bitset(A(i, j), L, bits(2));
As an aside, I would strongly recommend that you declare x and Q as:
x = [0.3, zeros(1, 65535)];
Q = [0.2, zeros(1, 65535)];
to avoid the constant reallocations that your code is doing.
  12 comentarios
Sultan Mehmood
Sultan Mehmood el 20 de Jul. de 2018
what is mean by "bits(1),bits(2)"? because code is running only for first entry.
Guillaume
Guillaume el 20 de Jul. de 2018
bits(1) is the bit that bitget extracted at position L, bits(2) is the bit that bitget extracted at position P.
documentation for bitget
documentation for bitset

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by