How does bitshift work?
显示 更早的评论
bitshift(56,-1)
gives answer 28 in matlab
My understanding of this working is as follows:
the function converts 56 to binary value ie 0101 0110 and does right shift since its -1
so 0010 1011 -> 2b (hexa)
so the answer should be "2b" right?
How does this function work?
4 个评论
Scott MacKenzie
2021-5-4
In your example, k = -1, so the shift is to the right, not the left.
Kaavya N
2021-5-4
"the function converts 56 to binary value ie 0101 0110"
You appear to have mixed up decimal and hexadecimal:
B = '01010110'; % your binary string
D = pow2(numel(B)-1:-1:0)*sscanf(B,'%1d') % decimal
D = bin2dec(B) % decimal
H = dec2hex(D) % hexadecimal
H = sprintf('%x',D) % hexadecimal
Kaavya N
2021-5-5
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Numeric Types 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
