Moinsen,
Gegeben ist ein Integer a der zwischen In32.MinValue und Int32.MaxValue liegen kann.
Es sollen nun zwei Zahlen a und b gefunden werden, sodass a | b == Inputzahl.
Ich habe hierzu bereits etwas auf die Beine gestellt, allerdings werden negative Werte nicht unterstützt bzw negative Werte funktionieren nicht.
Wie kann ich diesen Algorithmus erweitern das auch negative Werte unterstützt werden?
Mfg
Rikudo
Gegeben ist ein Integer a der zwischen In32.MinValue und Int32.MaxValue liegen kann.
Es sollen nun zwei Zahlen a und b gefunden werden, sodass a | b == Inputzahl.
Ich habe hierzu bereits etwas auf die Beine gestellt, allerdings werden negative Werte nicht unterstützt bzw negative Werte funktionieren nicht.
C#-Quellcode
- /// <summary>
- /// Generate a two factos which equal the value-parameter when Or'ed.
- /// </summary>
- /// <param name="value">Value to which should get splitted into factors for Or-operation.</param>
- /// <returns>Factors when Or'ed together equal the value-parameter.</returns>
- private static int[] DetermineOr(int value)
- {
- if (value < 0)
- throw new DivideByZeroException("Value can't be less then zero.");
- int[] a = new int[2];
- int b = value;
- int c = rnd.Next(0, value);
- int d = b & c;
- int e = b & ~c;
- a[0] = d;
- a[1] = e;
- return a;
- }
Wie kann ich diesen Algorithmus erweitern das auch negative Werte unterstützt werden?
Mfg
Rikudo
C# Developer
Learning C++
Learning C++