.NET 4.x Побитовые операции с целыми числами - C#

Узнай цену своей работы

Формулировка задачи:

Есть две переменные a и b. Обе задаются значениями в диапазоне [-1;1] включительно. Возможно ли какими нибудь операторами (всякими XOR и т.д.) заменить конструкцию a == 0 ? b : a ; Кажется что такое возможно, но не пойму как

Решение задачи: «.NET 4.x Побитовые операции с целыми числами»

textual
Листинг программы
  IL_002f:  call       class [System]System.Diagnostics.Stopwatch [System]System.Diagnostics.Stopwatch::StartNew()
  IL_0034:  stloc.s    sw2
  IL_0036:  ldloc.1
  IL_0037:  ldloc.1
  IL_0038:  ldloc.1
  IL_0039:  mul
  IL_003a:  ldloc.3
  IL_003b:  mul
  IL_003c:  sub
  IL_003d:  ldloc.3
  IL_003e:  add
  IL_003f:  stloc.s    c
  IL_0041:  ldloc.2
  IL_0042:  ldloc.2
  IL_0043:  ldloc.2
  IL_0044:  mul
  IL_0045:  ldloc.3
  IL_0046:  mul
  IL_0047:  sub
  IL_0048:  ldloc.3
  IL_0049:  add
  IL_004a:  stloc.s    d
  IL_004c:  ldloc.s    sw2
  IL_004e:  callvirt   instance void [System]System.Diagnostics.Stopwatch::Stop()
...
  IL_006a:  call       class [System]System.Diagnostics.Stopwatch [System]System.Diagnostics.Stopwatch::StartNew()
  IL_006f:  stloc.s    sw
  IL_0071:  ldloc.1
  IL_0072:  brfalse.s  IL_0077
  IL_0074:  ldloc.1
  IL_0075:  br.s       IL_0078
  IL_0077:  ldloc.3
  IL_0078:  stloc.s    c
  IL_007a:  ldloc.2
  IL_007b:  brfalse.s  IL_0080
  IL_007d:  ldloc.2
  IL_007e:  br.s       IL_0081
  IL_0080:  ldloc.3
  IL_0081:  stloc.s    d
  IL_0083:  ldloc.s    sw
  IL_0085:  callvirt   instance void [System]System.Diagnostics.Stopwatch::Stop()

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы