Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа №1 / lab1 / hexAdd / hex2dec
.c#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int hex(int j)
{
int tmp=1;
int i;
for (i=0;i<j;i++)
tmp=tmp*16;
return tmp;
}
int main(int argc, char* argv[])
{
int sum = 0;
int temp, i;
char* a;
if(argc!=2)
{
printf("0\n");
return 2;
}
for (i=strlen(argv[1])-1; i>=0; i--)
{
if (argv[1][i]=='a')
temp=10;
else
if (argv[1][i]=='b')
temp=11;
else
if (argv[1][i]=='c')
temp=12;
else
if (argv[1][i]=='d')
temp=13;
else
if (argv[1][i]=='e')
temp=14;
else
if (argv[1][i]=='f')
temp=15;
else if (argv[1][i]>='0' && argv[1][i]<='9')
{
*a = argv[1][i];
temp = atoi(a);
//printf("%d\n",temp);
}
else
{
printf("%i\n", 0);
return 1;
}
sum+=hex(strlen(argv[1])-i-1)*temp;
}//for
printf( "%i\n", sum);
return 0;
}