#include <stdio.h>
/* Test out unsigned 8 bit addition */
int main(int argc, char **argv) {
int tmp;
unsigned char x,y,result;
/* Make sure there are 3 command line arguments
(the program name is one, we also want 2 numbers) */
if (argc !=3) {
printf("Error - you have to specify 2 small numbers\n");
exit(1);
}
/* Make sure the numbers fit into unsigned char (8 bit char) */
tmp = atoi(argv[1]); /* convert first argument to an int */
if (tmp<0 || tmp>255) {
printf("Error - %s is not in valid range\n",argv[1]);
exit(1);
}
x = tmp;
tmp = atoi(argv[2]); /* convert second argument to an int */
if (tmp<0 || tmp>255) {
printf("Error - %s is not in valid range\n",argv[1]);
exit(1);
}
y=tmp;
/* Everything is OK - go ahead an add */
result = x + y;
printf("%u + %u = %u\n",x,y,result);
return(0);
}