ABA


"שיטה להמרה מבינארי לדצימלי וההפך."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #13734 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13734
aaBlueDragon

   23:15   23.11.06   
אל הפורום  
  שיטה להמרה מבינארי לדצימלי וההפך.  
 
   האמת היא שפשוט DOTAN ביקש ממני את זה בפרטי בשביל הש"ב שלו, אז כתבתי לו.
אז הנה לכל מי שצריך:

#include<conio.h>
#include<iostream.h>

long int dec2bin(long int dec)
{
long int bin=0,val=1;
while(dec>0)
{
bin+=(dec%2)*val;
val*=10;
dec/=2;
}
return bin;
}

long int bin2dec(long int bin)
{
long int Digit_Value=1,dec=0;
while(bin>0)
{
dec+=(bin%10)*Digit_Value;
Digit_Value*=2;
bin/=10;
}
return dec;
}

void main(void)
{
clrscr();

long int choice;
cout<<"1. Dec2Bin\n";
cout<<"2. Bin2Dec\n";
cout<<endl<<"I Choose: ";
while(choice>2||choice<1)
{cin>>choice;}
cout<<"Number: ";
long int num;
cin>>num;
if(choice==1)
{cout<<dec2bin(num);}
else if(choice==2)
{cout<<bin2dec(num);}
getch();
}


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  נחמד מצידך... גם אני קיבלתי את ההודעה ונתתי לו עצה איך לעשות את זה Nesher  23.11.06 23:42 1
  זה באמת עובד אחי? MULI 23.11.06 23:49 2
     זה עובד מעולה (ל''ת) aaBlueDragon 24.11.06 09:21 4
         לא לזה התכוונתי MULI 24.11.06 14:08 5
             לא ולא aaBlueDragon 25.11.06 12:49 7
  תודה BlackJack  24.11.06 00:48 3
  תודה רבה! tal47  25.11.06 04:57 6

       
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   23:42   23.11.06   
אל הפורום  
  1. נחמד מצידך... גם אני קיבלתי את ההודעה ונתתי לו עצה איך לעשות את זה  
בתגובה להודעה מספר 0
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MULI

   23:49   23.11.06   
אל הפורום  
  2. זה באמת עובד אחי?  
בתגובה להודעה מספר 0
 
   זה נראה כאילו זה רק מחזיר את סכום הביטים הדלוקים... צריך להדפיס את הספרה כבר שאתה עולה עליה.. אחרת אתה מסבך את כל האפסים עם האחדים ומקבל כמות של ביטים דלוקים בהצגה של ערך דצימלי..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
aaBlueDragon

   09:21   24.11.06   
אל הפורום  
  4. זה עובד מעולה (ל''ת)  
בתגובה להודעה מספר 2
 
   ערכתי לאחרונה בתאריך 24.11.06 בשעה 09:26 בברכה, aaBlueDragon
 
אתה פשוט צריך להבין את הבסיס יותר של בינארי, זה נחמד שאנשים יודעים לספור
אבל זה לא מספיק, צריך לחקור א זה קצת ואז מבינים לעומק.
אם תבדוק, אתה תשים לב שכל ערך ספרה שווה פי 2 מהערך הקודם שלה.
למשל:
מלמעלה עכך הסיפרה, מלמטה המספר הבינארי:
421
101

עכשיו מה קורה כאן,
איך נדע מה הדצימלי של 101?
מחברים את 4 ו1 ויוצא שזה 5.
זהו זה הבסיס ובערך השיטה שהפונקצייה BIN2DEC פועלת.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MULI

   14:08   24.11.06   
אל הפורום  
  5. לא לזה התכוונתי  
בתגובה להודעה מספר 4
 
   ערכתי לאחרונה בתאריך 24.11.06 בשעה 14:09 בברכה, MULI
 
כשאתה מחזיר את הערך מהפונקציה, אחרי שחישבת את כל הביטים הדלוקים וחיברת אותם, הערך המוחזר הזה לא יכול להפוך חזרה לערך דצימלי
כי תחשוב שאתה לוקח את 5 והופך אותו לבינארי, שזה 101
סבבה, עכשיו מה שאתה עושה בתכנית זה לקחת את ה1 הראשון ולהכניס למשתנה, אחרי זה לקחת את ה0 וגם אותו להכניס לאותו משתנה, אחרי זה לקחת את ה1 הבא ולהוסיף אותו גם לאותו משתנה, כמה יש במשתנה? 2! הערך 2 נמצא במשתנה
עכשיו אם תרצה להפוך את זה חזרה לדצימלי, אתה רק יודע שיש פעמיים 1 בתצוגה הבינארית שלו
אתה לא יודע אם הוא נראה ככה
110 שזה בכלל 6
או 011 שזה בכלל 3
או 101 שזה 5, הערך המקורי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
aaBlueDragon

   12:49   25.11.06   
אל הפורום  
  7. לא ולא  
בתגובה להודעה מספר 5
 
   ערכתי לאחרונה בתאריך 25.11.06 בשעה 12:54 בברכה, aaBlueDragon
 
"סבבה, עכשיו מה שאתה עושה בתכנית זה לקחת את ה1 הראשון ולהכניס למשתנה, אחרי זה לקחת את ה0 וגם אותו להכניס לאותו משתנה, אחרי זה לקחת את ה1 הבא ולהוסיף אותו גם לאותו משתנה, כמה יש במשתנה? 2! הערך 2 נמצא במשתנה"

ממש ממש לא גבר!
אני כופל כל סיפרה בערך הסיפרה שלה, וכל פעם מחבר את הסיפרה כפול ערכה (לפי מה שכפלתי).


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
BlackJack 
חבר מתאריך 26.5.02
17365 הודעות
   00:48   24.11.06   
אל הפורום  
  3. תודה  
בתגובה להודעה מספר 0
 
  





                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
tal47  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 23.8.03
6353 הודעות, 11 פידבק
   04:57   25.11.06   
אל הפורום  
  6. תודה רבה!  
בתגובה להודעה מספר 0
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net