zornitza_gencheva

BitInverter

Apr 17th, 2014
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace bitsExcange
  8. {
  9. class bitsExcange
  10. {
  11. static void Main(string[] args)
  12. {
  13. int n = int.Parse(Console.ReadLine());
  14. int step = int.Parse(Console.ReadLine());
  15. List<int> numbers = new List<int>();
  16. List<string> binaryNums = new List<string>();
  17. List<char> charNums = new List<char>();
  18.  
  19. for (int i = 0; i < n; i++)
  20. {
  21. numbers.Add(int.Parse(Console.ReadLine()));
  22. }
  23.  
  24. for (int i = 0; i < n; i++)
  25. {
  26. binaryNums.Add(Convert.ToString(numbers[i], 2).PadLeft(8, '0'));
  27. }
  28.  
  29. for (int i = 0; i < binaryNums.Count; i++)
  30. {
  31. foreach (var item in binaryNums[i])
  32. {
  33. charNums.Add(item);
  34. }
  35. }
  36.  
  37. for (int i = 0; i < charNums.Count; i += step)
  38. {
  39. if (charNums[i] == '0')
  40. {
  41. charNums[i] = '1';
  42. }
  43. else
  44. {
  45. charNums[i] = '0';
  46. }
  47. }
  48.  
  49. StringBuilder str = new StringBuilder();
  50.  
  51. for (int i = 0; i < charNums.Count; i+=8)
  52. {
  53. for (int j = i; j < 8 + i; j++)
  54. {
  55. str.Append(charNums[j]);
  56. }
  57. uint res = Convert.ToUInt32(str.ToString(), 2);
  58. Console.WriteLine(res);
  59. str.Clear();
  60. }
  61.  
  62. }
  63. }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment