nirtheking

New member
כנראה לא הייתי ברור

יש לי כבר את ה-frameWork אבל איך אני יודע איפה ה-PATH של הספרייה של המהדר?!!!
 

gilad g

New member
אה.

ברוב המחשבים, הכתובת היא: c:\windows\microsoft.net\framework\v1.1.4322 אגב, רצוי שתלמד לשרשר... אם הגבת להודעה שלי, אז תלחץ "תגובה להודעה" בהודעה שלי, ולא בהודעה הראשית, כדי שההודעה שלך תופיע מתחת להודעה שלי.
 

nirtheking

New member
מה ההבדל בין סוג משתנה חתום

ללא חתום ? אני עכשיו לומד מהמדריך שבאתר corner והגעתי לחלק של משתנים בסיסיים בפועל אני יודע קצת מג'אווה מה כל משתנה אוסף בעצמו. אבל מה זה משתנה עם ה-u בהתחלה? מה זה אומר? למשל: uInt ו- int אני יודע ש-int אחראי על אכסון מספרים שלמים בעל מרחב של 32 בתים אבל מהו ה-uInt (מה ההבדל בין חתום ללא חתום?) בתודה ניר
 

gilad g

New member
פשוט

u מציין unsigned (בלתי מסומן). int32 הוא בין 2,147,483,648- ל-2,147,483,648 (מסומן, כלומר עם סימן המציין האם המספר חיובי או שלילי), ו-uint32 הוא בין 0 ל-4,294,967,295 (בלתי מסומן, כלומר חיובי בלבד, ללא סימן המציין האם המספר חיובי או שלילי).
 

nirtheking

New member
אהבתי ../images/Emo13.gif

ז"א שאפשר להיפטר משגיאה לוגית כזו : age = -16 אם עושים ש-age יהיה מסוג uInt
 

gilad g

New member
אפשר

אבל שים לב שה-U-ים למיניהם הם לא CLS Compliant:
The UInt32 type is not CLS-compliant. The CLS-compliant alternative type is Int64.​
 

nirtheking

New member
ועוד שאלה ../images/Emo6.gif (התלהבתי ../images/Emo6.gif)

יש את האופרטורים AND, OR, XOR, NOT ו->>,<< ברמת הסיביות עכשיו לא הבנתי איך הם משמשים אותי בתכנות עצמו ?
 

nirtheking

New member
בקשר לשאלה הזו... ../images/Emo13.gif

לא הבנתי לפי הדוגמא שבאתר corner איך זה מתבצע:
using System; namespace BitsOperators{ class BitManipulation{ static void Main(string[] args){ int num=1; int res= num | 3; \\\ למה ה-3 נבחר? Console.WriteLine("res = {0}", res); num = 1; res = num & 3; \\\ למה זה נשאר 3 ? Console.WriteLine("res = {0}", res); res = num ^ 15; \\\ למה זה יצא 14
Console.WriteLine("res = {0}", res); uint num1 = 1; uint res1 = ~num1; \\\ למה זה יוצא מספר כזה ארוך?!!! Console.WriteLine("res1 = {0}", res1); num = 1; res = num << 5; \\\ איך מגיעים מזה ל-32? Console.WriteLine("res = {0}", res); num = 32; res = num >>4; \\\ ואיך מגיעים מהמספר הזה ל-2? Console.WriteLine("res = {0}", res); } } }​
בתודה ניר
 

Gilad Israeli

New member
אופרטורים בינאריים

בשביל להבין את הנושא אתה צריך ללמוד קצת על איך המחשב מייצג מספרים באמצעות סיביות (ביטים). לדוגמא, טיפוס הנתונים Int64 מיוצג ע"י 64 סיביות. אם נרצה לייצג את המספר 4 באמצעותו, נדליק את הסיבית השלישית ונכבה את כל היתר. כל אופרטור מבצע פעולה בינארית אחרת על הסיביות הללו. תנסה להבין את הקישור המצורף, ואם יהיו לך שאלות נוספות אתה מוזמן לחזור ולשאול.
 

nirtheking

New member
חזרתי ../images/Emo140.gif ולא הבנתי את החילוק

אתה יכול בבקשה להסביר לי את החיבור והכפל הבנתי מצוין אבל איך הולך חיסור (לא מוסבר שם) אז פעולת AND BITWISE איזה מן פעולה בינארית זה מייצג כפל או חיבור? וגם לא הבנתי את bitwise left shift ו-right shift איך הם עובדים ? (<<,>>) בתודה ניר
 

Gilad Israeli

New member
אלגברה בוליאנית

הדרך הכי פשוטה להבין פעולות בינאריות היא בעזרת טבלת אמת. זאת טבלה שמכילה את כל הצירופים האפשריים ותוצאותיהם. עבור AND:
0 AND 0 = 0 0 AND 1 = 0 1 AND 0 = 0 1 AND 1 = 1​
כלומר ה-AND דומה במידת מה לכפל, מלבד העובדה שכאשר אתה מבצע AND בין מספרים גדולים יותר (אוסף של סיביות), אין CARRY כמו בכפל אלא הפעולה מתבצעת על כל זוג סיביות בנפרד. באופן מקביל, טבלת האמת של OR היא כדלקמן:
0 OR 0 = 0 0 OR 1 = 1 1 OR 0 = 1 1 OR 1 = 1​
OR דומה במידת מה לחיבור, אבל שוב גם כאן אין CARRY. באשר לאופרטור shift left - >>, הוא מסיט את כל הסיביות במספר שמאלה, כאשר הסיבית השמאלית ביותר נעלמת ואילו במקום הסיבית הימנית ביותר תוכנס הסיבית 0. לדוגמא, אם ניקח את המספר העשרוני 5, שהוא בבינארי: 0101B, ונבצע לו הזזה של ביט אחד ימינה, נקבל את המספר 10: 1010B. מקווה שעזרתי.
 

nirtheking

New member
פולימורפיזם ../images/Emo13.gif

תקראו שנייה את מה שאני כותב אני רוצה שתגידו לי אם הבנתי נכון את הפולימורפיזם
תודה ניר
נגיד ויש משחק של מלחמות יש קבוצות מוסיימות של חיילים כל אחד מהם יש לו נשק שונה. המחלקות של ה"אורקים" (סוג של קבוצת חיילים), "הרוחות"(עוד קבוצת חיילים), ושל "האבירים" יורשות ממחלקה בשם soldiers את הפרטים (שם קבוצה, שם שחקן...) ושיטות (סוג התקיפה) אבל מכיוון שלכל קבוצה יש נשק שונה אני אגדיר את השיטה במחלקות היורשות ובמחלקת הבסיס... רק שבמחלקות היורשות אני אשנה בהתאם את השיטה כדי שקבוצה מסוימת תהיה לה נשק אחיד. השיטה במחלקת הבסיס תהיה אבסטרקטית כי אני לא רוצה להגיע למצב שלחייל אין נשק האם זה נכון מה שכתבתי כאן ? בתודה ניר
 
למעלה