Convert Unsigned 8 bit integer to a string ?

#3630064
Rate this post
useful
not useful
If you use C:
1
  unsigned char number_txt[4], hundred=0, ten=0;
2
  while(1)
3
  {
4
    if(number>=100)
5
    {
6
      number=number-100;
7
      hundred++;
8
    }  
9
    else
10
      break;
11
  }
12
  while(1)
13
  {
14
    if(number>=10)
15
    {
16
      number=number-10;
17
      ten++;
18
    }  
19
    else
20
      break;
21
  }
22
  number_txt[0]=hundred+'0';
23
  number_txt[1]=ten+'0';
24
  number_txt[2]=number+'0';
25
  number_txt[3]=0x00;
Guest #3630151
Rate this post
useful
not useful
Why this construct with while(1)/if?

This is simpler:
1
  unsigned char number_txt[4], hundred=0, ten=0;
2
  while (number >= 100)
3
  {
4
    number = number-100;
5
    hundred++;
6
  }
7
  while (number >= 10)
8
  {
9
    number = number-10;
10
    ten++;
11
  }
12
  number_txt[0] = hundred+'0';
13
  number_txt[1] = ten+'0';
14
  number_txt[2] = number+'0';
15
  number_txt[3] = 0;

or still shorter:
1
  unsigned char number_txt[4], hundred=0, ten=0;
2
  while (number >= 100)
3
  {
4
    number -= 100;
5
    hundred++;
6
  }
7
  while (number >= 10)
8
  {
9
    number -= 10;
10
    ten++;
11
  }
12
  number_txt[0] = hundred+'0';
13
  number_txt[1] = ten+'0';
14
  number_txt[2] = number+'0';
15
  number_txt[3] = 0;

Reply

Please log in before posting.

or

Log in with Google account

Registration is free and takes only a minute.

Register now