Can someone explains what specific "0x30" does in the decimal to binary function below:
void dec2bin(long decimal, char *binary)
{
int k = 0, n = 0;
int neg_flag = 0;
int remain;
char temp[80]; // take care of negative input
if (decimal < 0)
{
decimal = -decimal;
neg_flag = 1;
}
do
{
remain = decimal % 2;
decimal = decimal / 2; // whittle down decimal
temp[k++] = remain + 0x30; // makes characters 0 or 1
} while (decimal > 0);
if (neg_flag)
temp[k++] = '-'; // add back - sign
else
temp[k++] = ' '; // or space
while (k >= 0)
{
binary[n++] = temp; // reverse spelling
}
binary[n-1] = 0; // end with NULL
}