Я делаю приложение на С# на основе Delphi (конвертирующий код), но я нашел команду, которую не знаю (shl), и я хочу знать, есть ли какой-либо эквивалент С#.
Спасибо заранее.
Shl
сдвиг влево. Используйте <<
оператор С# для того же эффекта.
Пример:
uint value = 15; // 00001111
uint doubled = value << 1; // Result = 00011110 = 30
uint shiftFour = value << 4; // Result = 11110000 = 240
Из Shl Keyword это побитовый сдвиг слева, который из С# Побитовый Операторы сдвига были <<
Shl
- оператор сдвига влево, в С# вы используете <<
.
var
a : Word;
begin
a := $2F; // $2F = 47 decimal
a := a Shl $24;
end;
совпадает с:
short a = 0x2F;
a = a << 0x24;
a
является 16-битным типом. # Код С будет способствовать к типу a
int
, который является типом 32-бит, а затем усечь 0x24 на нижние 5 битов. В этом случае это случается равным младшим 4 битам, но сдвигается на величину, которая использует пятый бит, и вы должны увидеть разницу.
x << y
также эквивалентноx * 2 to the power of y
. Точно так жеx >> y
делится в 2 раза