C#を使用して2つの2進数の積を見つける方法は?
2つの2進数の積を見つけるには、最初にそれらを設定します。
val1 = 11100; val2 = 10001; Console.WriteLine("Binary one: "+val1); Console.WriteLine("Binary two: "+val2);
次に、ループして製品を入手します。
while (val2 != 0) { digit = val2 % 10; if (digit == 1) { val1 = val1 * factor; prod = displayMul(val1, prod); } else val1 = val1 * factor; val2 = val2 / 10; factor = 10; } Console.WriteLine("Product = {0}", prod);
メソッドの上では、displayMul()が最初の2進数で呼び出されます。
static long displayMul (long val1, long val2) { long i = 0, rem = 0, mul = 0; long[] sum = new long[30]; while (val1 != 0 || val2 != 0) { sum[i++] =(val1 % 10 + val2 % 10 + rem) % 2; rem =(val1 % 10 + val2 % 10 + rem) / 2; val1 = val1 / 10; val2 = val2 / 10; } if (rem != 0) sum[i++] = rem; i = i-1;; while (i >= 0) mul = mul * 10 + sum[i--]; return mul; }
これが完全なコードです-
例
using System; class Demo { public static void Main(string[] args) { long val1, val2, prod = 0; long digit, factor = 1; val1 = 11100; val2 = 10001; Console.WriteLine("Binary one: "+val1); Console.WriteLine("Binary two: "+val2); while (val2 != 0) { digit = val2 % 10; if (digit == 1) { val1 = val1 * factor; prod = displayMul(val1, prod); } else val1 = val1 * factor; val2 = val2 / 10; factor = 10; } Console.WriteLine("Product = {0}", prod); } static long displayMul (long val1, long val2) { long i = 0, rem = 0, mul = 0; long[] sum = new long[30]; while (val1 != 0 || val2 != 0) { sum[i++] =(val1 % 10 + val2 % 10 + rem) % 2; rem =(val1 % 10 + val2 % 10 + rem) / 2; val1 = val1 / 10; val2 = val2 / 10; } if (rem != 0) sum[i++] = rem; i = i-1;; while (i >= 0) mul = mul * 10 + sum[i--]; return mul; } }
出力
Binary one: 11100 Binary two: 10001 Product = 111011100
-
Pythonを使用して3つの数値の中で最大のものを見つける方法は?
3つの数値のリストを作成し、maxメソッドを呼び出して、それらの中で最大のものを見つけることができます。 例 my_list = [10, 12, 3] print(max(my_list)) 出力 これにより、出力が得られます- 12 例 自分で計算したい場合は、のような単純な関数を作成できます。 def max_of_three(a, b, c): if a > b and a > c: return a elif b > c: re
-
Pythonを使用して自然数の合計を見つける方法は?
whileループを使用すると、変数iの値を1ずつ連続してインクリメントし、累積的に追加できます。 s,i=0,0 n=10 while i<n: i=i+1 s=s+i print ("sum of first 10 natural numbers",s) forループは、自然数の範囲をループして累積的に加算するためにも使用されます。 s=0 for i in range(11): s=s+i print ("sum of first 10 natural numbers&