Shifting operations and bitwise logical operations with binary numbers

Hi friends, Actually i need to do right shifting of a binary numbers.
For Example:
a=200
b=dec2bin(200)
c=str2num(b)
d=bitshift(c,3)
Binary of 200 is 11001000. If i right shift it by 3 i should get 00011001 but d is giving 88008000. Even "bitsll" command is not giving desired results.
In addition to this i also need to work with bitwise logical operators.I tried in different ways using( "and" , "&" , "&&") but nothing is working.
Please suggest me the right way of working with above mentioned operations with binary numbers.
Thanks

 채택된 답변

a8 = uint8(200);
d = bitshift(a8, 3);
If you insist on working with dec2bin representation, then
a8 = uint8(200);
b = dec2bin(a8, 8);
d = ['0' '0' '0' b(1:end-3)];

추가 답변 (3개)

Yao Li
Yao Li 2013년 4월 10일
편집: Yao Li 2013년 4월 10일
a=200
b=bitshift(a,-3)
c=dec2bin(b,8)
srikanth
srikanth 2013년 4월 10일

0 개 추천

Thanks for your help guys. Both 1st and 2nd replies are working

카테고리

도움말 센터 및 File Exchange에서 Numeric Types에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by