dividing of binary numbers
10 次查看(过去 30 天)
显示 更早的评论
See i have a binary code of unknown length , i want to divide it into blocks of length four and assign each block to a variable .
4 个评论
Walter Roberson
2023-5-23
What do you want to have happen if the character vector is not an exact multiple of 4 long?
采纳的回答
Abhishek
2023-5-22
Hi Ganesh,
It is my understanding that you are unable to divide a binary data of unknown length into multiple blocks of length four.
To resolve this issue, you may perform bit operations on the binary data to extract last four bits, then store the result in an array and assign each block to a variable.
For your reference, the below example demonstrates a simple approach to divide a binary data of unknown length to multiple blocks:
% register is the variable that stores binary number.
register = 0b1001011010001010101011010101010110000010101111110101010101;
% An Array to store the binary number of length of four.
blockOfLengthFour = [];
% Simple bit operation to extract last four bits and append them to an
% array
while register
% Get the last four bits
nextFourBits = bitand(register, 15);
% Append the result to final result array
blockOfLengthFour = [nextFourBits, blockOfLengthFour];
% remove last four bits of original binary number
register = bitshift(register, -4);
end
blockOfLengthFour
6 个评论
Abhishek
2023-5-22
The last line of provided code gives 15 different values and each of them is greater than single bit.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sources 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!