Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.80 KB | None | 0 0
  1. /* write a function that takes integer as an input and return chat* string
  2.  * that contains binary system representation of that integer as an input
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <math.h>
  8.  
  9. char* convert(int number) {
  10.     int num_bits = 0;
  11.     for (int i = 0;; i++) {
  12.         if (number < pow(2, i)) {
  13.             num_bits = i;
  14.             break;
  15.         }
  16.     }
  17.     printf("num_bits: %d\n", num_bits);
  18.     char *ch = (char*)malloc(num_bits);
  19.     for (int i = 0; i < num_bits; i++) {
  20.         if (number & (1 << i)) {
  21.             ch[i] = '1';
  22.         } else {
  23.             ch[i] = '0';
  24.         }
  25.     }
  26.     char *rev = (char*)malloc(num_bits);
  27.     for (int i = 0; i < num_bits; i++) {
  28.         rev[i] = ch[num_bits-1-i];
  29.     }
  30.     free(ch);
  31.     return rev;
  32. }
  33.  
  34. int main(int argc, char **argv) {
  35.     char *str = convert(0xAF);
  36.     printf("result: %s\n", str);
  37.     free(str);
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement