20-02-2007, 11:04
|
|
|
|
חבר מתאריך: 08.10.02
הודעות: 827
|
|
.
ציטוט:
תודה רבה!, עכשיו אני מנסה להעביר את זה לשפה אחרת אבל לא ממש הבנתי חלק מההסבר שלך כי אני לא הכי מתמצא בסוגי המשתנים, אז ככה:
קוד:
ASCIIEncoding().GetString(buffer2);
האובייקט ASCIIEncoding כולל מספר Static Methods לטיפול במחרוזות ותווים.
הפונקציה שאתה משתמש בה, GetString, מקבלת באפר של בתים ומחזירה
string שכולל את התוים שבבאפר.
אז ASCIIEncoding מבחינתי לא מהווה משהו חובה לשפה שאני הופך אליה, כי היא רק נותנת לך לעשות את מה שיש בהמשך לא?
וGETstrings מחזיר את הביטים כSTRing, אם כן עכשיו ב buffer 1 יש עכשיו את הביטים האלה, הם יכולים להיות מספרים באיזה תחום?
קוד:
buffer2[num2] = (byte) (((buffer1[num5] + buffer1[num3]) + 1) / 2);
זה נקרא Casting. הכוונה היא, שאתה לוקח סוג משתנה מסויים (type) במקרה הזה, integer
וממיר אותו לסוג משתנה אחר (במקרה הזה byte). אתה עשוי לשאול את עצמך - למה בעצם מה
שיש שם זה int ולא byte, שכן buffer1 הוא מערך של בתים.
פעולת החיבור והחילוק בסוף מחזירים int (ולא double, שכן החילוק נעשה על שלמים
כאשר הסוג של המחולק הוא integer).
בחילוק הזה יכול לצאת מספר שהוא 1.333 לא?
ומה ההבדל בין byte לINT? הbyte באיזה תחום הוא? וINT?
קוד:
byte[] buffer1 = new ASCIIEncoding().GetBytes(str); byte[] buffer2 = new byte[6];
כאן בעצם עושים את ההפך של GetString. הפונקציה ממירה מחרוזת לבאפר.
מה זה BUFFER?
|
הבעיה היא שההסבר שלך יותר מידי תלוי בהבנת VB (או C?) שאני לא יודע, אם אפשר הסבר יותר לעומק, פשוט אני יודע שלפונקיה שהוא עושה נכנס STRING של 6 מספרים ויוצר STRING אחר של 6, אני רואה את החשבון שהוא עושה אבל אני לא מבין את כל המשתנים שם. אולי דוגמא עם כמה STRINGים של 6 מספרים, לדוגמא כמכניסים לפונקציה:
023860
265020
337739
אחד מאלו (אני יודע כבר את התשובה אבל אני מנסה להבין את הפעולה).
תודה רבה!
_____________________________________
Error: Keyboard not found
Press F1 to continue
|