Код, который вам нужно использовать: 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]
и получить свой номер, надеюсь, это поможет.