Битовый массив С#, применяющий NOT(), несмотря на то, что ничего не делаетсяC#

Место общения программистов C#
Ответить
Anonymous
 Битовый массив С#, применяющий NOT(), несмотря на то, что ничего не делается

Сообщение Anonymous »

поэтому я не совсем уверен, ошибка ли это или это просто особенность C#, но я применил двоичный код 1000 0001 0000 0000 (8100 в шестнадцатеричном формате) в битовый массив C#. p>
Как данные выглядят в отладчике
Все выглядит нормально, потому что переменная данных действительно отражает новейшие изменения. Однако как только я выхожу из вызова функции, она каким-то образом меняется на 0111 1110 1111 1111 (7EFF).
Как данные выглядят после выхода из функции вызов функции
В настоящее время я не знаю, почему это происходит, потому что с другими моими значениями проблем не было. Так получилось, что это значение заставляет биты переворачиваться. Я не уверен, что это потому, что это знаковый бит.
Если вы хотите воспроизвести проблему, вы можете попробовать использовать эту функцию.

Код: Выделить всё

public BitArray CompleteConversion(int directHexCode)
{
bool[] bits = new bool[16];
for (int i = 0; i < bits.Length; i++)
{
bits[i] = (directHexCode & (1 

Подробнее здесь: [url]https://stackoverflow.com/questions/79246066/c-sharp-bit-array-applying-not-despite-not-doing-anything[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»