Advertisement
Guest User

Untitled

a guest
Jan 20th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.68 KB | None | 0 0
  1.  
  2.  
  3. //#include "stdafx.h" раскомментировать, если программа запускается в Visual Studio
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <math.h>
  7.  
  8. int bin_digits_count(int n) {
  9.     int c = 0;
  10.     while (n > 0) {
  11.         n /= 2;
  12.         c++;
  13.     }
  14.     return c;
  15. }
  16.  
  17.  
  18. int reverse(int n) {
  19.     int reversed = 0,temp;
  20.     while (n > 0) {
  21.         temp = n % 256;
  22.         reversed *= pow(2, bin_digits_count(temp));
  23.         reversed += temp;
  24.         n /= 256;
  25.     }
  26.     return reversed;
  27. }
  28.  
  29. int main()
  30. {
  31.     int in,flag = 0;
  32.     scanf("%d", &in);
  33.     flag = in < 0 ? 1 : 0;
  34.     in = in < 0 ? in * -1 : in;
  35.     printf("%d\n", flag == 1?-1*reverse(in): reverse(in));
  36.     system("pause");
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement