Advertisement
stefanpu

Append Binary Number to 4k digits where k is natural number

Feb 14th, 2013
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.68 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace _6.BinToHex
  7. {
  8.     class BinToHex
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             string binNumber = Console.ReadLine();
  13.             string result = "";
  14.  
  15.             for (int i = 0; i < binNumber.Length; i+=4)
  16.             {
  17.                 int binaryNumberLength = binNumber.Length;
  18.                 if (binNumber.Length % 4 != 0)
  19.                 {
  20.                     //Пример 5 -> 5 % 4 = 1 => 5 + (4 - 1) = 8
  21.                     int binaryNumberTotalLength =
  22.                         binaryNumberLength + 4 - binaryNumberLength % 4;
  23.                     binNumber = binNumber.PadLeft(binaryNumberTotalLength, '0');
  24.                 }
  25.                 switch (binNumber.Substring(i, 4))
  26.                 {
  27.                     case "0000":
  28.                         result += "0";
  29.                         break;
  30.                     case "0001":
  31.                         result += "1";
  32.                         break;
  33.                     case "0010":
  34.                         result += "2";
  35.                         break;
  36.                     case "0011":
  37.                         result += "3";
  38.                         break;
  39.                     case "0100":
  40.                         result += "4";
  41.                         break;
  42.                     case "0101":
  43.                         result += "5";
  44.                         break;
  45.                     case "0110":
  46.                         result += "6";
  47.                         break;
  48.                     case "0111":
  49.                         result += "";
  50.                         break;
  51.                     case "1000":
  52.                         result += "8";
  53.                         break;
  54.                     case "1001":
  55.                         result += "9";
  56.                         break;
  57.                     case "1010":
  58.                         result += "A";
  59.                         break;
  60.                     case "1011":
  61.                         result += "B";
  62.                         break;
  63.                     case "1100":
  64.                         result += "C";
  65.                         break;
  66.                     case "1101":
  67.                         result += "D";
  68.                         break;
  69.                     case "1110":
  70.                         result += "E";
  71.                         break;
  72.                     case "1111":
  73.                         result += "F";
  74.                         break;
  75.                     default:
  76.                         result += "";
  77.                         break;
  78.                 }
  79.             }
  80.             Console.WriteLine(result);
  81.         }
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement