לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #9  
ישן 17-11-2005, 11:00
צלמית המשתמש של fat fish
  fat fish fat fish אינו מחובר  
 
חבר מתאריך: 20.06.03
הודעות: 5,616
כמו כל מעבר אחר...
בתגובה להודעה מספר 3 שנכתבה על ידי meyou שמתחילה ב "הכוונה היא למעבר ממספר בבסיס..."

משתמשים באותו אלגוריתם, עם שינוי מספר הבסיס.
וזה לא משנה אם זה בסיס 6, 17 או 39.
בזמן הלימודים מרצים אוהבים לתת לנו לריב עם בסיסים לא מוכרים.

אם ביקשו ממך לכתוב תכנית המרה כזו, מן הסתם לא רצו שתשתמש בפונקציה
מוכנה, וזו בוודאי הסיבה שקיבלתם בסיס 6.

האלגוריתמים עצמם הם די פשוטים
לביצוע המרות בין בסיסים עם בסיס בינארי (בסיס 2,4,8,16 וכו) יש אלגוריתמים פשוטים יותר, אך
נכונים רק להם.

נסביר את האלגוריתם שנכון לכל בסיס:

המרה מבסיס 6 לבסיס 10 (ע"י החלפת 6 ניתן לשנות את האלגוריתם לכל בסיס)
עבור המספר בבסיס 6, יש לעבור על כל ספרותיו (לדוגמה 254)
4 כפול 6 בחזקת 0
5 כפול 6 בחזקת 1
2 כפול 6 בחזקת 2
....
....
וכו לכל הספרות, כשערך הספרה עולה בחזקה כל פעם.
254 בבסיס 6 = 106 בבסיס דצימלי

המרה מבסיס 10 לבסיס 6
ניקח את המספר שלנו (106) ונמיר אותו חזרה לבסיס 6.
הפעולה היא פעולת חילו:
106 / 6 נקבל 17 שארית 4
17 / 6 נקבל 2 שארית 5
2 / 6 נקבל 0 שארית 2

שים לב שהשאריות שלנו, לפי הסדר מייצגות את ספרות האחדות (4) השישיות (5) והשישיות
בריבוע (2) -> 254

בקיצור, לא מסובך מדי למימוש.

כדי להגיל ראש (חשוב מאוד אם אתה רוצה להתמיד במקצוע הזה) הייתי בונה את הפונקציה
כפונקציה כללית להמרת כל סוגי הבסיסים (לפחות עד 16, שלא תצטרך להמציא סימנים חדשים)
כאשר כארגומנטים הפונקציה מקבלת את המספר להמרה, ואת בסיס היעד.
הנה אב טיפוס נחמד:
קוד PHP:
 int toDecimal(string valueint base);
string fromDecimal(int valueint base); 
_____________________________________
[ זיו ]
[ fat fish ]

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 22:13

הדף נוצר ב 0.06 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר