נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: שימוש במספרים גדולים מאד

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
moz@rt
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 April 2009
משתמש: מנותק/ת
הודעות: 7
נשלח בתאריך: 29 April 2009 בשעה 14:53 | IP רשוּם
ציטוט moz@rt

שלום
אני מנסה לתכנת בשפת JAVA , לצורך בדיקותי אני זקוק לאפשרות בחינת מספרים גדולים למדי , איני יכול איני יכול להסתפק במספרים כגון 2^63 (-1) , האם ניתן להרחיב את לולאת for כך שתריץ מספרים הגדולים מ  2147483647 ?,בכדי לבדוק מספרים הגדולים מ 2^31 (-1) אני משתמש בשורה נוספת (בתוך ללואת ה for) בה אני מוסיף\מכפיל למשתנה מסוג long בנוסף לסכום הנ"ל סכום שאף הוא חייב להיות בגודל של int (ואת המשתנה הנ"ל אני מריץ בלולאת while ) ובכך נדמה לי כי נמנע ממני לבדוק מספר רב של מספרים ראשוניים,ובנוסף גם כך איני יכול לבדוק מספרים הגדולים מערכו המקסימלי של long ,האם ישנה דרך אשר בעזרתה אוכל לחשב ולבדוק מספרים הגדולים בהרבה?האם ניתן לשנות משהו ב java עצמה? קרי במידה ואכן ניתנת גישה למספרים גדולים יותר האם אוכל לתכנת איתם ב java ? ובכלל כיצד מדענים בודקים תכונות של מספר כגון 7^3486784401 ?
תודה רבה

חזרה לתחילת העמוד הצג את כרטיס החבר של moz@rt חפש הודעות אחרות של moz@rt
 
עזריה
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 30 April 2009 בשעה 22:37 | IP רשוּם
ציטוט עזריה

היי,

אם אני לא טועה ל-Java יש תמיכה במס' שלמים גדולים באמצעות המחלקה BigIntger שנמצא ב-package Math.

 

חזרה לתחילת העמוד הצג את כרטיס החבר של עזריה חפש הודעות אחרות של עזריה בקר בדף הבית של עזריה
 
cp77fk4r
מנהל פורומים
מנהל פורומים
סמל אישי
מנהל פורום אבטחת מידע

הצטרף / הצטרפה: 09 April 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 501
נשלח בתאריך: 01 May 2009 בשעה 01:15 | IP רשוּם
ציטוט cp77fk4r

או לכתוב טיפוס חדש ולממש לו את הפונקציות שאתה צריך (כפל חילוק חזקה וכו').

תנסה, זה יותר פשוט ממה שנדמה לך.



__________________
[Th3rE R mAnY wAyZ 2 r3aD oN3 EmPty p4gE]
חזרה לתחילת העמוד הצג את כרטיס החבר של cp77fk4r חפש הודעות אחרות של cp77fk4r בקר בדף הבית של cp77fk4r
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 01 May 2009 בשעה 07:26 | IP רשוּם
ציטוט :)

בטוח אפשר לעשות משהו , לדוגמה מה ש cp77fk4r אמר אבל רק שתדע שבכמעט כול השפות זה ככה כי מספרים גדולים תופסים הרבה מקום בזיכרון
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
moz@rt
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 April 2009
משתמש: מנותק/ת
הודעות: 7
נשלח בתאריך: 01 May 2009 בשעה 13:21 | IP רשוּם
ציטוט moz@rt

תודה על העזרה

האם ע"י קביעת טיפוס חדש ניתן לעבור את מחסום ה 2^63 ? כיצד ניתן לקבוע טיפוס כזה ?

האם במחלקה BigIntger ישנה תמיכה במספרים הגדולים 2^63?

חזרה לתחילת העמוד הצג את כרטיס החבר של moz@rt חפש הודעות אחרות של moz@rt
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 01 May 2009 בשעה 14:54 | IP רשוּם
ציטוט :)

ברגע שאתה בונה את הטיפוס אתה יכול כמה שאתה רוצה כול עוד מספיק זיכרון ( ויש ... )
לגבי BigInteger אני לא מכיר את הטיפוס הזה ( אני לא מתכנת בגאווה ) תחפש עליו באינטרנט או פשוט תנסה
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
moz@rt
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 April 2009
משתמש: מנותק/ת
הודעות: 7
נשלח בתאריך: 02 May 2009 בשעה 21:33 | IP רשוּם
ציטוט moz@rt

אשמח מאד אם מישהו יוכל להסביר כיצד ניתן לקבוע טיפוס חדש ב JAVA

תודה רבה

חזרה לתחילת העמוד הצג את כרטיס החבר של moz@rt חפש הודעות אחרות של moz@rt
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 02 May 2009 בשעה 21:48 | IP רשוּם
ציטוט :)

מה השאלה פה איך לקבוע טיפוס חדש ( כאילו מחלקה ) או שאתה ידוע איך בונים מחלקות וכולי ואתה פשוט לא יודע איך לממש טיופס של INT ?

לפי דעתי זה לא כל כך קל לבנות בעצמך את הטיפוס הזה והיתי מציע לך לחפש מחלקות מוכנות לדבר הזה ( אני אישית לא מכיר אבל אני בטוח שיש איפשהוא ) רק צריך לחפש באינטרנט
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
moz@rt
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 April 2009
משתמש: מנותק/ת
הודעות: 7
נשלח בתאריך: 02 May 2009 בשעה 22:28 | IP רשוּם
ציטוט moz@rt

לא הייתי שואל בפורום כיצד בונים מחלקה רגילה

הבעיה היא שגם כאשר אני בונה מחלקה, בכדי להגדיר משתנים אני צריך להשתמש בטיפוסים

"מוכנים" (עד כמה שאני יודע,ומעבר לכך זה בדיוק מה שאני מבקש) כגון int,long וכ'ו מה שמחזיר אותי לגבולות המספריים השכיחים , וכך אני מוצא את עצמי בנקודת ההתחלה

חזרה לתחילת העמוד הצג את כרטיס החבר של moz@rt חפש הודעות אחרות של moz@rt
 
danikel
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 19 December 2008
מדינה: Israel
משתמש: מנותק/ת
הודעות: 32
נשלח בתאריך: 03 May 2009 בשעה 11:01 | IP רשוּם
ציטוט danikel

http://www.codeproject.com/KB/cs/biginteger.aspx

http://stackoverflow.com/questions/176775/big-integers-in-c

אולי זה יעזור לך...
בכל מקרה, בשביל מה אתה צריך את זה?
PROJECT EULER?


__________________

חזרה לתחילת העמוד הצג את כרטיס החבר של danikel חפש הודעות אחרות של danikel
 
moz@rt
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 April 2009
משתמש: מנותק/ת
הודעות: 7
נשלח בתאריך: 03 May 2009 בשעה 13:06 | IP רשוּם
ציטוט moz@rt

תודה רבה

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

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

חזרה לתחילת העמוד הצג את כרטיס החבר של moz@rt חפש הודעות אחרות של moz@rt
 
cp77fk4r
מנהל פורומים
מנהל פורומים
סמל אישי
מנהל פורום אבטחת מידע

הצטרף / הצטרפה: 09 April 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 501
נשלח בתאריך: 03 May 2009 בשעה 13:47 | IP רשוּם
ציטוט cp77fk4r

פעם בניתי תוכנה שמחשבת כל מני שטויות עם מספרים ראשוניים ואיזה ניסוי קטן על כמה הנחות של רימן, בכל אופן, הרעיון במחלקה עם מספרים עצומים היא פשוטה, צור טיפוס שהוא מערך של נניח 10000 תאים,שבו כל תא הוא עוד מערך של 10000 תאים שבו כל תא יהיה INT  מ1 עד 9 (או עוד מערך וכו', תלוי עד כמה עצומים המספרים שאתה מנסה לחשב), עכשיו, הרעיון הוא ליצור את הפונקציות שדרכם תבצע את החישוב של הטיפוס הנ"ל, נניח פעולת חיבור בין טיפוסים (או בין מספר לטיפוס), לא תוכל לבצע את זה בצורצה הרגילה, ולכן תאלץ לכתוב תוכנית, הרעיון די פשוט אם אתה יודע איך המספרים עובדים:

 

תסתכל על מספרים רגילים, בסיס דצימאלי, נניח יש לנו את המספר X, ואנחנו רוצים להוסיף לו את המספר Y, נבצע את זה בצורה הבאה:

מחסירים מY אחד.

כל עוד Y גדול מ0 מבצעים:

[עכשיו יש פה רקורסיה שפועלת בצורה הבאה]:

מתחילים בתא ההכי ימני, אם הוא שווה ל9 אז מאפסים אותו ועובדים לתא השמאלי ממנו, אם הוא שווה גם ל9 מאפסים גם אותו ועוברים עוד פעם שמאלה- עד שמגיעים לתא שקטן מ9 ומוסיפים לו-1.

אחרי זה שוב פעם מחסירים מY אחד ומבצעים את הפעולה הקודמת שוב, בסופו של דבר אני מניח שאתה מבין את הרעיון.

אותו דבר עם מנוס.

כפל, חילוק, חזקה וכו' גם אפשרי- אבל כאן יש טריק מאוד נחמד אם אתה ידוע להשתמש במתמטיקת שעונים, יענו- מודולרית, אבל לא חובה.

 



__________________
[Th3rE R mAnY wAyZ 2 r3aD oN3 EmPty p4gE]
חזרה לתחילת העמוד הצג את כרטיס החבר של cp77fk4r חפש הודעות אחרות של cp77fk4r בקר בדף הבית של cp77fk4r
 
moz@rt
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 April 2009
משתמש: מנותק/ת
הודעות: 7
נשלח בתאריך: 03 May 2009 בשעה 13:56 | IP רשוּם
ציטוט moz@rt

תודה

אתמול ניסיתי לבצע פעולות על מספרים גדולים מאד ע"י מערך כפי שאתה מתאר והמחשב ציין חריג (ולצערי אין לי מושג מה זה אומר [התהליך לא קרה בהידור אלא בהרצה]):

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 49
        at T.main(T.java:8)

וגם כך , השיטה תסרבל במעט את העניינים ברגע שארצה לבצע פעולות מסובכות יותר על המספר

חזרה לתחילת העמוד הצג את כרטיס החבר של moz@rt חפש הודעות אחרות של moz@rt
 
cp77fk4r
מנהל פורומים
מנהל פורומים
סמל אישי
מנהל פורום אבטחת מידע

הצטרף / הצטרפה: 09 April 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 501
נשלח בתאריך: 03 May 2009 בשעה 15:19 | IP רשוּם
ציטוט cp77fk4r

אני צריך לראות את הקוד שלך בכדי להגיד לך ממה נרגמה השגיאה הזאת, בינתיים אני יכול להגיד לך שזה כניראה משהו בשורה 49 ;)

 

כמעט כל פעולה אתה יכול לפשט למספר תת פעולות קטנות ופשוטות יותר, תנסה ותראה.



__________________
[Th3rE R mAnY wAyZ 2 r3aD oN3 EmPty p4gE]
חזרה לתחילת העמוד הצג את כרטיס החבר של cp77fk4r חפש הודעות אחרות של cp77fk4r בקר בדף הבית של cp77fk4r
 
yohai
מנהל פורומים
מנהל פורומים
סמל אישי

הצטרף / הצטרפה: 11 November 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 354
נשלח בתאריך: 04 May 2009 בשעה 08:25 | IP רשוּם
ציטוט yohai

וגם בגלל שאתה מנסה לגשת לאינדקס במערך שהוא לא בגבולות
המערך שלך...
חזרה לתחילת העמוד הצג את כרטיס החבר של yohai חפש הודעות אחרות של yohai בקר בדף הבית של yohai
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה