اكتب برنامج بلغة C لتحويل عدد بنظام العد العشري إلى عدد بنظام العد ثنائي بدون استخدام مصفوفة

  • برمجة
  • برمجة سي c

اكتب برنامج بلغة C لتحويل عدد بنظام العد العشري إلى عدد بنظام العد ثنائي بدون استخدام مصفوفة

الخرج المتوقع 1 :

Input a decimal number: 25
Binary number equivalent to said decimal number is: 0000000000000000000000000001
1001
--------------------------------

الخرج المتوقع 2 :

Input a decimal number: 105
Binary number equivalent to said decimal number is: 0000000000000000000000000110
1001
--------------------------------

الخرج المتوقع 3 :

Input a decimal number: 1105
Binary number equivalent to said decimal number is: 0000000000000000000001000101
0001

الأجوبة

/*Write a program in C to convert a decimal number into binary without using an array*/

#include <stdio.h>
#include <stdlib.h>
char *decimal_to_binary(int);
char *decimal_to_binary(int dn)
{
  int i, j, temp;
  char *ptr;
  temp = 0;
  ptr = (char*)malloc(32+1);
  for (i = 31 ; i >= 0 ; i--)
  {
    j = dn >> i;
    if (j & 1)
      *(ptr+temp) = 1 + '0';
    else
      *(ptr+temp) = 0 + '0';
    temp++;
  }
  *(ptr+temp) = '\0';
  return  ptr;
}
int main()
{
  int dn;
  char *ptr;
  printf("Input a decimal number: ");
  scanf("%d", &dn);
  ptr = decimal_to_binary(dn);
  printf("Binary number equivalent to said decimal number is: %s", ptr);
  free(ptr);
  return 0;
}
هل كان المحتوى مفيد؟

تبحث عن مدرس اونلاين؟

محتاج مساعدة باختيار المدرس الافضل؟ تواصل مع فريقنا الان لمساعدتك بتأمين افضل مدرس
ماهو التخصص الذي تبحث عنه؟
اكتب هنا...