Advertisement
arthur393

Comp3

Jan 27th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.23 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. /*
  6.  * receive number integer as parameter
  7.  * return length of bytes from number
  8.  */
  9. int lengthByte (int number)
  10. {
  11.     int lengthByte;
  12.     int toAdd;
  13.  
  14.     /* odd number, else pair */
  15.     if (number % 2 != 0)
  16.     {
  17.       toAdd   = 8  - number;
  18.     }
  19.     else
  20.     {
  21.         toAdd = 1 + 1;
  22.     }
  23.  
  24.     lengthByte = number + toAdd;
  25.     lengthByte = lengthByte / 2;
  26.  
  27.     return lengthByte;
  28. }
  29.  
  30.  
  31. int nyble (int number)
  32. {
  33.     while (number)
  34.     {
  35.         if (number & 1)
  36.             printf("1");
  37.         else
  38.             printf("0");
  39.  
  40.         number = number >> 1;
  41.     }
  42.  
  43.     return number;
  44. }
  45.  
  46. /* receives as parameter -> int number
  47.  * return vector of digits*/
  48. int *getDigits(int number)
  49. {
  50.     int i = 0;
  51.     int sz = (number == 0 ? 1 : (int)(log10(number)+1));
  52.  
  53.     int * numbers = (int *)calloc(sz, sizeof (int));
  54.  
  55.     /*get digit, add on vector*/
  56.     for(i = 0; i < sz;++i)
  57.     {
  58.         numbers[i] = number % 10;
  59.         number     = number / 10;
  60.     }
  61.  
  62.     return numbers;
  63. }
  64.  
  65. int main (void)
  66. {
  67.     char s;
  68.     int * n = getDigits(32);
  69.    
  70.     printf(" %d \n", n[0]);
  71.  
  72.     //printf("%d %d",n[0],n[1]);
  73.  
  74.     gets(s);
  75.     return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement