ABA


"בעיה עם משתנים שלמים גדולים מאד (מעל 12 ספרות) בC"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #14766 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14766
TheKid לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.10.07
17978 הודעות, 1 פידבק, 2 נקודות
   14:26   30.05.08   
אל הפורום  
  בעיה עם משתנים שלמים גדולים מאד (מעל 12 ספרות) בC  
 
   שלום,
אני מנסה לכתוב תוכנה בC שמקבלת כרטיסי אשראי שמספר הספרות של כל אחד מהם הוא 12...
עכשיו אני משתמש במשתנה מסוג unsigned long long
כמובן שכשאני קולט את כרטיס האשראי אני קולט אותו לתוך %llu

קטע מהתוכנית


#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned long long creditnumber;
scanf("%llu" , &creditnumber);

מה שקורה הוא שכשאני מדפיס את המספר ישר אחרי שקלטתי אותו הוא רושם לי מספר רק 10 ספרות (שהוא במקרה גם המספר הכי גדול שמספר גבוה של שלם יכול לקבל) האם יש לי בעיה בהגדרת משתנה?
האם הבעיה בINCLUDE שלי?

תודה!!!


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אמממ TheKid 30.05.08 14:54 1
     זה בסדר גמור , האלטרנטיבה זה להשתמש ב __int64 Net_Boy  30.05.08 16:32 2
         תודה רבה... TheKid 30.05.08 16:54 3
             כיום , במערכות 32 ביט אין הבדל בין long ל int Net_Boy  30.05.08 17:08 4
  לא עדיף שתשתמש בstring וזהו? DLN 30.05.08 17:17 5
     לא כי אני צריך לעשות על זה פעולות מתמטיות שונות TheKid 30.05.08 17:18 6

       
TheKid לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.10.07
17978 הודעות, 1 פידבק, 2 נקודות
   14:54   30.05.08   
אל הפורום  
  1. אמממ  
בתגובה להודעה מספר 0
 
   השתמשתי עכשיו במקום %llu ב %I64d
והתוכנה עבדה...
אתם יודעים אם מותר להשתמש על משתנה מסוג Unsigned long long ב %i64d
תודה...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק, 2 נקודות
   16:32   30.05.08   
אל הפורום  
  2. זה בסדר גמור , האלטרנטיבה זה להשתמש ב __int64  
בתגובה להודעה מספר 1
 
   ערכתי לאחרונה בתאריך 30.05.08 בשעה 16:32 בברכה, Net_Boy
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheKid לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.10.07
17978 הודעות, 1 פידבק, 2 נקודות
   16:54   30.05.08   
אל הפורום  
  3. תודה רבה...  
בתגובה להודעה מספר 2
 
   הגדרתי ככה.. וזה עובד שוב.. ואני מקווה שהפעם זה גם תקין מבחינה סמנטית


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק, 2 נקודות
   17:08   30.05.08   
אל הפורום  
  4. כיום , במערכות 32 ביט אין הבדל בין long ל int  
בתגובה להודעה מספר 3
 
   ערכתי לאחרונה בתאריך 30.05.08 בשעה 17:08 בברכה, Net_Boy
 
פעם long היה 4 בתים ו int היה 2 בתים (זה הולך לפי מרחב של תא בזיכרון)
מאז שעברו למערכות הפעלה 32 או 64 ביט int הוא או 4 או 8 בתים בהתאם


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות, דרג אמינות חבר זה
   17:17   30.05.08   
אל הפורום  
  5. לא עדיף שתשתמש בstring וזהו?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheKid לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.10.07
17978 הודעות, 1 פידבק, 2 נקודות
   17:18   30.05.08   
אל הפורום  
  6. לא כי אני צריך לעשות על זה פעולות מתמטיות שונות  
בתגובה להודעה מספר 5
 
   שניתן לבצע רק על אינטג'ר..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net