У меня проблемы с извлечением определенных битов из 32-битного целого числа и сохранением этих битов в строку.
Чтобы лучше объяснить мою проблему, я объясню это так:
Хорошо, допустим, у меня есть целое число:
01010101010101010101000011010100
Я хочу извлечь (переход от MSB к LSB) со 2-го (включенного) до 21-го бита (включенного).
Так что я могу простосоздайте маску, которая будет содержать только те 20 бит, которые я хочу, и обнулять все остальные.
Integer: 01010101010101010101000011010100
Mask: 01111111111111111111100000000000
New integer = Integer & Mask = 01010101010101010101000000000000
После этого я понятия не имею, как сохранить эти 20 битов в строку.
Хорошо, теперь допустим, у нас есть массив символов, которыйможет содержать 100 символов.
Затем мне нужно скопировать эти 20 битов из целого числа в массив символов, чтобы только эти 20 бит отображались в виде текста.Вот как это должно быть:
printf("Text: %s", string); -> "Text: 10101010101010101010"
Надеюсь, я объяснил это достаточно хорошо.Если у вас остались вопросы, дайте мне знать.