Get bits of number.
39 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Raldi
el 13 de Abr. de 2015
I have a 16 bit double I got from using wavread that I want to get the first 8 bits from.
As an example lets say I have 67. Inside my computer it must be represented as a series of bits, 0111001 in this case. So lets say that I just want to have the last for of them 1001.
How can this be done?
3 comentarios
Guillaume
el 13 de Abr. de 2015
Also, 67 in binary is not 00111001:
>>dec2bin(67, 8)
ans = 0100011
Respuesta aceptada
Guillaume
el 13 de Abr. de 2015
n = hex2dec('AF75'); %for example, bit pattern is 1010 1111 0111 0101.
bitpattern = bitget(n, 1:8, 'uint16')
returns
bitpattern =
1 0 1 0 1 1 1 0
2 comentarios
Guillaume
el 13 de Abr. de 2015
Editada: Guillaume
el 13 de Abr. de 2015
I'm not sure when the type specifier was added to bitget, I think it's fairly recent.
On older versions of matlab, this should work:
n = hex2dec('AF75'); %for example, bit pattern is 1010 1111 0111 0101.
bitpattern = bitget(uint16(n), 1:8)
That is convert your number (of type double) to an unsigned integer type.
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!