(C#)10進位制轉2進位制 數字1的個數
阿新 • • 發佈:2019-01-24
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { public static int getOneCount(int num) { if (num < 0) { return -1; } else if (num == 0) { return 0; } else { int tmp = 0; while (num != 0) { if (num % 2 == 1) { num /= 2; tmp++; } else num /= 2; } return tmp; } } public static string getBinary(int num) { if (num < 0) { return "-1"; } else if (num == 0) { return "0"; } else { string a = ""; while (num != 0) { a = num % 2 + a; num /= 2; } return a; } } static void Main(string[] args) { Console.WriteLine("{0, 8}", Program.getOneCount(-2)); Console.WriteLine("{0, 8}", Program.getOneCount(0)); Console.WriteLine("{0, 8}", Program.getOneCount(1)); Console.WriteLine("{0, 8}", Program.getOneCount(2)); Console.WriteLine("{0, 8}", Program.getOneCount(10)); Console.WriteLine("{0, 8}", Program.getOneCount(12)); Console.WriteLine("{0, 8}", Program.getOneCount(127)); Console.WriteLine(); Console.WriteLine("{0, 8}", Program.getBinary(-2)); Console.WriteLine("{0, 8}", Program.getBinary(0)); Console.WriteLine("{0, 8}", Program.getBinary(1)); Console.WriteLine("{0, 8}", Program.getBinary(2)); Console.WriteLine("{0, 8}", Program.getBinary(10)); Console.WriteLine("{0, 8}", Program.getBinary(12)); Console.WriteLine("{0, 8}", Program.getBinary(127)); } } }