我无法在MatLab中获得第2位 例如:
enter code here
% c is an array to save the get bit result
a is decimal = 253
convert it to binary
a=11111101
k=1;
c(k)=bitget(a,2);
c=0;
我需要的是c(1)= 0;
答案 0 :(得分:1)
答案 1 :(得分:0)
您需要使用的代码是bitget(a,2)
,而不是getbit
及其小端,因此从右侧看,意味着第2位将返回0
再次更新已更新问题的答案,您仍然需要使用bitget
命令,
它不是从左边看的位,而是从右边看它们。
例如,如果您的位是a=11110000
:
bitget(a,1) = 0
bitget(a,2) = 0
bitget(a,3) = 0
bitget(a,4) = 0
bitget(a,5) = 1
bitget(a,6) = 1
bitget(a,7) = 1
bitget(a,8) = 1
我希望这会有所帮助
第3次更新:
不幸的是, dec2bin
将始终返回字符串值,所以我检查了一下,如果它们在向量中输出值,那么你可以使用de2bi
,例如那么
253看起来像x = [1, 1, 1, 1, 1, 1, 0, 1]
,如果您想访问某个特定位置,那么您可以x[y]
并拥有您的号码,我希望这会有所帮助。