How to divide 8 bit binary into two 4 bit?
30 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
sami ullah
el 24 de Oct. de 2020
Comentada: Walter Roberson
el 20 de Abr. de 2023
For example A=11001111,
i want to break it as A1=1100 and A2=1111.
How it can be done in matlab?
0 comentarios
Respuesta aceptada
madhan ravi
el 24 de Oct. de 2020
A = '11001111'
A = mat2cell(A, 1, [4, 4]);
celldisp(A)
3 comentarios
Más respuestas (1)
Xavier
el 20 de Abr. de 2023
Editada: Xavier
el 20 de Abr. de 2023
I think it would be more efficient in a bit-wise operation performing the modulus and the division.
Start with an 8-bit binary number. For example, let's use the binary number 11011010. To split this number into two 4-bit groups, we need to find the remainder of the number when divided by 16 (which is 2^4, the number of bits in a 4-bit group).
To do this, we can use the modulus operator (%), which gives us the remainder after division.
So, 11011010 % 16 = 10.
The remainder we obtained in step 2 represents the least significant 4 bits of the original number. To get the most significant 4 bits, we need to divide the original number by 16 and discard the remainder. We can use integer division to do this.
So, 11011010 / 16 = 1101.
We now have two 4-bit groups: 1101 and 1010. The first group (1101) represents the most significant 4 bits of the original number, and the second group (1010) represents the least significant 4 bits.
Therefore, the original 8-bit binary number 11011010 can be split into two 4-bit groups: 1101 and 1010.
1 comentario
Walter Roberson
el 20 de Abr. de 2023
Note that integer division for this purpose is idivide
If you were to use a uint8() / 16 then the output uint8 would be rounded.
There are other approaches. For example,
A = randi([0 255], 5, 1, 'uint8')
top_bits = bitand(A, 240) / 16
bottom_bits = bitand(A, 15)
%cross check
dec2hex(A, 2) == [dec2hex(top_bits,1), dec2hex(bottom_bits,1)]
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices 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!