כיצד להמיר מספרים בינאריים לעשרונים ב-C

Kyzd Lhmyr Msprym Byn Ryym L Srwnym B C



מספרים בינאריים הם שילובים של 0 ו-1, בעוד שמספרים עשרוניים הם מספרי בסיס 10. בתכנות C, אנו ממירים מספרים בינאריים למספרים עשרוניים כדי לשפר את ביצועי הקוד ולהקל על ההבנה עבור הלומדים.

הנחיה זו תעבור על איך להמיר מספרים בינאריים למספרים עשרוניים ב-C.

לפני שניכנס למושג עצמו, בואו נראה מה הם מספרים בינאריים ועשרוניים ב-C.







פורמטים של מספר בינארי ועשרוני ב-C

מספרים בינאריים הם מספרים המיוצגים בצורה של שילוב של שתי ספרות 0 ו-1, והם מכונים מערכת הספרות בסיס 2. מספרים עשרוניים, לעומת זאת, הם מספרי בסיס 10 המורכבים מספרות הנעות בין 0 ל-9.



כפי שאתה רואה בשם בינארי שפירושו שניים אז כשיש לנו מספרים בצורה של שילוב של שתי ספרות 0 ו-1, אנו קוראים להם מספרים בינאריים. היא מכונה מערכת הספרות הבסיסית 2.



למה להמיר מספרים בינאריים לעשרונים ב-C

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





אלגוריתם פשוט להמרת בינארי לעשרוני ב-C

הנה אלגוריתם פשוט להמרת בינארי לעשרוני ב-C באמצעות שישה שלבים פשוטים:

  • קח מספר בינארי כקלט מהמשתמש.
  • אתחול משתנה 'עשרוני' ל-0 ומשתנה 'בסיס' ל-1.
  • חלץ את הספרה הימנית ביותר של המספר הבינארי באמצעות אופרטור המודולוס (%), והוסף את המכפלה של ספרה זו והבסיס למשתנה העשרוני.
  • הכפל את משתנה הבסיס ב-2.
  • הסר את הספרה הכי ימנית מהמספר הבינארי באמצעות חלוקת מספרים שלמים (/).
  • חזור על שלבים 3-5 עד שכל הספרות יעובדו.
  • הצג את הערך העשרוני של המספר הבינארי המאוחסן במשתנה 'עשרוני'.

המרת מספרים בינאריים לעשרונים ב-C

להלן קוד פשוט להמרת מספרים בינאריים לעשרונים בתכנות C.



#include

#include

int רָאשִׁי ( ) {

ארוך ארוך א ;

printf ( 'אנא הכנס מספר בינארי:' ) ;

scanf ( '%lld' , & א ) ;

printf ( '%lld בבינארי = %d בצורה של עשרוני' , א , binaryToDecimal ( א ) ) ;

לַחֲזוֹר 0 ; }

int binaryToDecimal ( ארוך ארוך א ) {

int דצמבר = 0 , ב = 0 , ר ;

בזמן ( א != 0 ) {

ר = א % 10 ;

א /= 10 ;

דצמבר += ר * פאו ( 2 , ב ) ;

++ ב ;

}

לַחֲזוֹר דצמבר ;

}

בקוד לעיל, פונקציה גלובלית נוצרת בתור השם 'binaryToDecimal' . לאחר מכן, בעיקרון, אנו מכריזים על משתנה ארוך ארוך כ 'א' ובקש מהמשתמש להוסיף מספר בינארי ולהמיר אותו לעשרוני על ידי קריאה ל- 'binaryToDecimal' פונקציה עם פרמטר של a'. בתוך ה 'binaryToDecimal' הגדרת פונקציה המרה עשרונית דרך לולאת ה-while.

תְפוּקָה

אתה יכול גם להשתמש במכשיר מובנה strtol() פונקציה להמרת מספרים בינאריים לעשרונים בתכנות C.

להלן הקוד לפונקציה כזו:

#include

#include

int רָאשִׁי ( ) {

לְהַשְׁחִיר מחרוזת_בינארית [ ] = '1110' ;

לְהַשְׁחִיר * ptr ;

ארוך ערך עשרוני ;

ערך עשרוני = התרסק ( מחרוזת_בינארית , & ptr , 2 ) ;

printf ( 'מחרוזת בינארית' % ס ' שווה לערך העשרוני %ld. \n ' , מחרוזת_בינארית , ערך עשרוני ) ;

לַחֲזוֹר 0 ;

}

הקוד לעיל ממיר מחרוזת בינארית '1110' לתוך הערך העשרוני המקביל שלו באמצעות ה- strtol() פונקציה, שלוקחת את המחרוזת הבינארית, מצביע למצביע char ואת הבסיס של מערכת המספרים כארגומנטים. לבסוף, הוא מדפיס את התוצאה למסוף באמצעות printf().

תְפוּקָה

סיכום

כפי שאנו יודעים, בני אדם מכירים מספרים עשרוניים בהשוואה לבינאריים מכיוון שהם קשים לניהול. ספרות עשרוניות קלות לביצוע פעולות אריתמטיות מכיוון שהן נמצאות בבסיס 10 והעיבוד שלהן מהיר יותר בהשוואה לספרות בינאריות ומכאן שהמספרים הבינאריים מומרים לעשרונים. הסקירה הכללית שלעיל הסבירה את ההמרה של מספרים בינאריים לעשרונים עם תוכנית C עם פונקציות המוגדרות על ידי המשתמש ומובנות strtol() פוּנקצִיָה.