Что эквивалентно Delphi «шл» в C #?

2

Я делаю приложение на С# на основе Delphi (конвертирующий код), но я нашел команду, которую не знаю (shl), и я хочу знать, есть ли какой-либо эквивалент С#.

Спасибо заранее.

Теги:
command
equivalent

3 ответа

7
Лучший ответ

Shl сдвиг влево. Используйте << оператор С# для того же эффекта.

Пример:

uint value = 15;              // 00001111
uint doubled = value << 1;    // Result = 00011110 = 30
uint shiftFour = value << 4;  // Result = 11110000 = 240
  • 0
    Хорошо, спасибо! ...
  • 2
    Интересный факт: x << y также эквивалентно x * 2 to the power of y . Точно так же x >> y делится в 2 раза
Показать ещё 1 комментарий
2

Из Shl Keyword это побитовый сдвиг слева, который из С# Побитовый Операторы сдвига были <<

1

Shl - оператор сдвига влево, в С# вы используете <<.

var
  a : Word;
begin
  a := $2F;   // $2F = 47 decimal
  a := a Shl $24;
end; 

совпадает с:

short a = 0x2F;
a = a << 0x24;
  • 5
    Они одинаковые, но только случайно. Код Delphi усекает значение $ 24 до младших 4 битов, потому что a является 16-битным типом. # Код С будет способствовать к типу a int , который является типом 32-бит, а затем усечь 0x24 на нижние 5 битов. В этом случае это случается равным младшим 4 битам, но сдвигается на величину, которая использует пятый бит, и вы должны увидеть разницу.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню