include

include

int bin(int a);

int dec(int a);

int main()

{

int x;
char c;
printf("Enter d if you wanna convert to decimal, OR b if you wanna convert to binary :\n");
scanf("%c", &c);
printf("Enter a number to convert it:\n");
scanf("%d", &x);
if(c == 'd' || c == 'D')
printf("%d", dec(x));
if(c == 'b' || c == 'B')
printf("%d", bin(x));

} int dec(int a){ int d = 0, rem, i = 1; while(a != 0){ rem = a % 10; a /= 10; d += rem * i; i *= 2; } return d; }

int bin(int a){ // التحويل إلى النظام الثنائي int b= 0, rem, i = 1; while(a != 0){ rem = a % 2; a /= 2; b += rem * i; i *= 10; } return b; } السؤال: لماذا في تابع التحويل إلى النظام الثنائي لا يمكن كتابة النالي :

int bin(int a){ int b= 0, rem, i = 1; while(a != 0){ rem = a % 2; a /= 2; b += rem * pow(10,i); i++; } return b;

}

فعندما اكتب الشكل السابق يظهرلي خطأ في التنفيذ مثل:

b // we enter b

12 // we enter the number

/* the result will be */

1099