Saturday, March 28, 2009

Convert ASCII to INTEGER



ASCII stands for American Standard Code for Information Interchange and is pronounced with a hard 'c' sound, as ask-ee. It is a way of defining a set of characters which can be displayed by computer on a screen. Basic ASCII uses seven bits to define each letter, so it can have up to 128 specific identifiers. It is represented by a byte, where eight bit is set aside for error checking function.


int atoi(char * input){

int output = 0;

int sign = 1; // default positive sign.

int i =0;

if(input==NULL||input==’’){

sysout(“Invalid input”);

return 0;

}

if(input[0]==’-’){

sign=-1;

i=1;

}else if(input[0]==’+’){

sign=1;

i=1;

}

while(input!=’\0’){

int temp = input[i] – ‘0’;

if(temp<0>9){

println(“Invalid Input”);

return output;

}

output=output*10+temp;

if(output>0 && sign==-1){

println(“Input underflow”);

return 0;

}

if(output<0 sign="=">

println(“Input Overflow”);

return 0;

}

i++;

}

return output*sign;

}

Test cases:

SNo

Input

Output

1

123

123

2.

+123

123

3.

-123

-123

4.

123ABC

123 and print a msg “Invalid Input”

5.

ABC123

print a msg “Invalid Input”

6.

99999999999999999999

Input OverFlow

7.

-99999999999999999999

Input UnderFlow

8.

NULL

Invalid Input

9.

“”

Invalid Input

Return output;

}