logo

מספר בינארי עד עשרוני ב-C

חלק זה ידון בהמרה של מספרים בינאריים למספרים עשרוניים. לפני שנעבור למושג, עלינו להבין מספרים בינאריים ומספרים עשרוניים. כפי שאנו יודעים, המחשב אינו מבין את המילים או המספרים שבני אדם כותבים או עושים. במקום זאת, הוא מבין רק 0 ו-1. לדוגמה, כאשר אנו מקלידים מילה או מספר במחשב, תוכנות או מהדרים שונים עוזרים להמיר את המספרים או המילים הללו לצורה בינארית (0s ו-1s bit). כך שמכונת מחשב תוכל להבין אותם בקלות.

10 מ"ל זה כמה
מספר בינארי עד עשרוני ב-C

מספר בינארי

מספר בינארי הוא מספר המייצג מידע או נתונים המאוחסנים במחשב עם שילוב של סיביות 0 ו-1. זה ידוע גם בתור מערכת הספרות הבסיסית 2 מכיוון שיש לה שני ביטים, 0 ו-1. אלו הם המספרים הבינאריים (0 ו-1) 1001, 1010, 1101, 1111, 1010101 וכו'.

מספר עשרוני

מספר עשרוני הוא מספר שמכיל 10 ספרות מ-0 עד 9. הבסיס שלו הוא 10 מכיוון שהוא אוסף 10 ספרות (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) ומייצג או הופך את מספר שלם באמצעות עשר הספרות הללו.

אלגוריתם להמרת בינארי לעשרוני

  1. קח מספר בינארי כקלט.
  2. חלקו את המספר ב-10 ואחסנו את השאר ב-rem משתנה.
  3. decimal_num = decimal_num + rem * base;
    בתחילה, המספר העשרוני הוא 0, והבסיס הוא 1, כאשר המשתנה rem מאחסן את יתרת המספר.
  4. חלקו את המנה של המספר המקורי ב-10.
  5. הכפל את הבסיס ב-2.
  6. הדפס את המספר העשרוני של המספר הבינארי.

המרת מספר בינארי למספר עשרוני באמצעות לולאת while

בואו ניקח בחשבון את תוכנית C להמרת השילוב של מספר בינארי (0s ו-1s) למספר העשרוני באמצעות לולאת while.

תוכנית.ג

 #include #include void main() { // declaration of variables int num, binary_num, decimal_num = 0, base = 1, rem; printf (' Enter a binary number with the combination of 0s and 1s 
'); scanf (' %d', &num); // accept the binary number (0s and 1s) binary_num = num; // assign the binary number to the binary_num variable while ( num > 0) { rem = num % 10; /* divide the binary number by 10 and store the remainder in rem variable. */ decimal_num = decimal_num + rem * base; num = num / 10; // divide the number with quotient base = base * 2; } printf ( ' The binary number is %d 	', binary_num); // print the binary number printf (' 
 The decimal number is %d 	', decimal_num); // print the decimal getch(); } 

תְפוּקָה

 Enter a binary number with the combination of 0s and 1s 1101 The binary number is 1101 The decimal number is 13 

הסברים על הקוד: כפי שאנו יכולים לראות בתוכנית לעיל, היא מבקשת מספר בינארי (0s ו-1s) מהמשתמשים לאחסן את המספר במשתנה num. בכל איטרציה, לולאת while בודקת את תנאי המספר הבינארי ומאמתת שהמספר הנתון לא יהיה קטן מ-0; אחרת, הוא יוצא מהלולאה.

להלן האיטרציה של לולאת ה-while, כדלקמן:

איטרציה ראשונה:

נסה לתפוס ג'אווה

rem = 1101 % 10 => 1

decimal_num = 0 + 1 * 1 => 1 (Decimal_val = 0, rem = 1, ובסיס = 1)

מספר = 1101 / 10 => 110

בסיס = 1 * 2 => 2

איטרציה 2:

rem = 110 % 10 => 0

decimal_num = 1 + 0 * 2 => 1 (Decimal_val = 1, rem = 0, ובסיס = 2)

מספר = 110 / 10 => 11

בסיס = 2 * 2 => 4

איטרציה שלישית:

rem = 11% 10 => 1

עיצוב דפוסי java

decimal_num = 1 + 1 * 4 => 5 (Decimal_val = 1, rem = 1, ובסיס = 4)

מספר = 11 / 10 => 1

בסיס = 4 * 2 => 8

איטרציה רביעית:

rem = 1 % 10 => 1

decimal_num = 5 + 1 * 8 => 1 (Decimal_val = 5, rem = 1, ובסיס = 8)

Java היפוך מיתר

מספר = 1 / 10 => 0

בסיס = 8 * 2 => 16

המר מספר בינארי למספר עשרוני באמצעות for loop

הבה נשקול תוכנית בשפת C להמרת השילוב של מספר בינארי (0s ו-1s) למספר העשרוני באמצעות for loop.

עשרוני.ג

 #include #include #include // use math.h header file void main() { // declaration of local variables i, bin_num, decimal_num = 0, rem; int i, bin_num, decimal_num = 0, rem; printf (' Enter the binary number with the combination of 0s and 1s 
'); scanf ('%d', &bin_num); // takes the binary number as the input printf( ' 
 The binary number is %d', bin_num); // print the binary number for (i = 0; bin_num != 0; ++i) { rem = bin_num % 10; bin_num = bin_num / 10; decimal_num = decimal_num + (rem) * ( pow (2, i)); } // print the decimal number printf ('
 Conversion from binary to decimal number is %d', decimal_num); getch(); } 

תְפוּקָה

 Enter the binary number with the combination of 0s and 1s 10010 The binary number is 10010 Conversion from binary to decimal number is 18 

המרת מספר בינארי למספר עשרוני באמצעות פונקציה

בואו נשקול תוכנית בשפת C להמרת השילוב של מספר בינארי (0s ו-1s) למספר העשרוני באמצעות פונקציה מוגדרת על ידי המשתמש.

דוגמאות לתכנות פיתון

אז ג

 #include #include int binaryTodecimal(int bin_num); int main() { // declare the local variable int bin_num, dec_num; printf (' Enter the binary number (0s and 1s) 
'); scanf ('%d', &bin_num); dec_num = binaryTodecimal (bin_num); // call the binaryTodecimal() function printf (' Conversion of the binary number to decimal number is %d', dec_num); } // use user defined function --- binaryTo decimal function int binaryTodecimal( int bin_num) { // declaration of variables int decimal_num = 0, temp = 0, rem; while (bin_num != 0) { rem = bin_num % 10; bin_num = bin_num / 10; decimal_num = decimal_num + rem * pow( 2, temp); temp++; } return decimal_num; } 

תְפוּקָה

 Enter the binary number (0s and 1s) 11001 Conversion of the binary number to decimal number is 25 

המרת מספר בינארי למספר עשרוני באמצעות מערך ופונקציה

הבה נשקול תוכנית בשפת C להמרת השילוב של מספר בינארי (0s ו-1s) למספר העשרוני באמצעות פונקציה ומערך.

עשרוני2.ג

 #include #include int binaryTodecimal (char num[]) { int i, deci_num, mul = 0; for ( deci_num = 0, i = str_length(num) - 1; i >= 0; --i, ++mul) { deci_num = deci_num + (num[i] - 48) * (1 << mul); } return deci_num; } int str_length( char str[]) { int i = 0; while (str[i] != '') i++; return i; } int main() { char num[] = '1101'; int deci_num; printf ('
 The binary number is %s', num); printf ('
 The decimal number of %s is %d', num, binaryTodecimal(num)); return 0; } 

תְפוּקָה

 The binary number is 1101 The decimal number of 1101 is 13