2013-05-02 1 views
3

У меня есть короткая переменная в C# и вы хотите изменить конкретный бит. Как я могу сделать это самым простым способом?Как изменить бит внутри Short

+1

Возможно, покажите код вашей короткой переменной? –

+0

Я хочу написать функцию, которая манипулирует битом с индексом x внутри коротким и возвращает измененный короткий – Weedjo

+1

Опубликуйте свой код, и мы сможем помочь вам в дальнейшем –

ответ

4

Посмотрите на операторов поразрядными:

short i = 4; 
short k = 1; 
Console.WriteLine(i | k); //should write 5 

Вы можете увидеть список операторов в разделе hereLogical (boolean and bitwise).

Кроме того, некоторые вывалились и нашли this bitwise helper class. Возможно, стоит проверить в зависимости от ваших потребностей.

6

Вы имеете в виду что-то вроде этого?

public static short SetBit(short input, int bit) 
{ 
    return (short) (input | (1 << bit)); 
} 

public static short ClearBit(short input, int bit) 
{ 
    return (short) (input & ~(1 << bit)); 
} 

Вы даже можете сделать их способами расширения, если хотите.

+0

Если вы хотите сделать это с помощью логического ввода, вы можете добавить метод 'SetBit (короткий ввод, int бит, значение bool) {return value? SetBit (вход, бит): ClearBit (вход, бит); } ' –

Смежные вопросы