נשלח בתאריך: 31 August 2006 בשעה 22:25 | | IP רשוּם
|
|
|
|
שלום יש לי בעייה
אני צריכה לקבל כתובת שהיא מטיפוס unsigned int
שבעצם הכתובת מיוצגת ע"י מערך בגודל 32 שמחולק בצורה הבאה
מקום 0-7 קוד
מקום 8-15 רחוב
מקום 16-19 עיר
במקום 20-23 יש 1111
במקום 24-29 מדינה
30-31 יבשת
אני רוצה לפרק את הכתובת ולאחסן אותה במערך בגודל 6
שהמקום החמישי שלו ייצג יבשת מקום 4 מדינה וכו'
כתבתי את הקטע קוד הבא אבל משום מה זה מתרגם לי נכון רק את היבשת והמדינה מישהו יכול אולי להגיד לי איפה הטעות ??
int* Distance::translateTheAdress(unsigned int adress,int codeArray[6]) { codeArray[5] = adress>>30;//get the continent adress = adress<<4;//remove the continent codeArray[4]=adress>>28;//get the land adress = adress<<6; codeArray[3]=adress>>24;//the zero or 15 adress = adress<<4; codeArray[2]=adress>>28;//get the city adress =adress<<4; codeArray[1]=adress>>24;//get the street adress =adress<<8; codeArray[0]=adress>>24;//get the house or facility return codeArray; }
הקוד הוא 1123680259
הוא צריך להיות מתורגם ליבשת 1 מדינה 2 עיר 10 רחוב 0 קוד 3 ובמקום הקבוע אמור להיות 15
מישהו אולי יודע מה אני עושה לא בסדר???
|