C#
 Computer >> コンピューター >  >> プログラミング >> C#

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

  1. 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

  2. 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&