код, вам нужно использовать это bitget(a,2)
, а затем getbit
, и его маленький обратный порядок байт, поэтому его смотрит справа, то есть разрядное число 2 будет возвращать 0
Updating ответ на обновленный вопрос: снова, вам все равно нужно использовать команду 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]
и иметь свой номер, я надеюсь, что это поможет.
Я стараюсь, чтобы один, но тот же результат .. –
@MaanMuafakAltohafe: Ваш вопрос совершенно неясен. Пожалуйста, улучшите свой вопрос, и, возможно, я смогу дать лучший ответ. –
спасибо, У меня есть массив типа int64, и я установил второй бит определенного местоположения (индекса) в этом массиве, когда я попытался вернуть второй бит, у меня нет того же результата бит 2 что я установил .. еще раз спасибо –