פורסם 2011 בספטמבר 614 שנים שלום לכולםהתחלתי ללמוד C# בבית הספר ונתנו לנו תכנית לשעורי בית שאני לא מבין.בתכנית צריך להציב ב2 משתנים מספרים שונים ואז להחליף ביניהם לדוגמה:a=4 b=5,a=5 b=4 אני לא כל כך מבין איך לעשות את זה אני אשמח אם מישהו יוכל להסביר לי
פורסם 2011 בספטמבר 614 שנים 1)את הערך של A אתה שומר במשתנה הזמני.2)אתה מכניס ל-A את הערך של B.3) אתה מכניס ל-B את הערך של המשתנה הזמני.
פורסם 2011 בספטמבר 914 שנים יש למעשה שתי דרכים, באמצעות אופרטורים חשבוניים בלבד. תחשוב על זה, זו חידה די נחמדה.
פורסם 2011 בספטמבר 914 שנים מצאתי אחד... double a=6; double b=4; a = b / a; b = b / a; a = a * b;עריכה: מצאתי עוד דרך double a=9; double b=4; a = b * a; b = b * a; a = b/a; b = b / (a * a);התכוונת לשתי הדרכים האלה??
פורסם 2011 בספטמבר 914 שנים דווקא לא, אבל יפה הבעיה בשיטה הזו היא שאתה צריך להמיר את המספרים ל-double (ככה שאתה כן צריך משתנים זמניים אם יש לך רק int) וגם פעולות כפל וחילוק של double הן לא מדוייקות במחשב. השיטה שאני מדבר עליה מבוססת על אותו עקרון, עם חיבור וחיסור: a = a + b;b = a - b;a = a - b; והשיטה השנייה היא קצת יותר מתוחכמת (משתמשת בתכונה מסויימת של אופרטור השמה): a ^= b ^= a ^= b; השיטה משתמשת באותו עיקרון כמו הקודמת, אבל מסתמכת על כך ש-xor (אופרטור ^) היא פעולה הופכית לעצמה.
פורסם 2011 בספטמבר 1014 שנים וגם פעולות כפל וחילוק של double הן לא מדוייקות במחשב.למה הם לא מדויקות??
פורסם 2011 בספטמבר 1014 שנים בגלל איך שהם עובדות מתחת לפני השטח. תקרא על המושג double precision. הפעולה 2\10 יכולה לצאת 5.000000000000000000035לדוגמא.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.