שאלה לפרויקט cpp

גלחוף

New member
שאלה לפרויקט cpp

מישהו יודע איך ממירים תוכן של משתנה unsigned short לערך דצימלי? ז"א משתנה מטיפוס זה יכול להכיל מספר בין 0 ל- 65535 עלי לכתוב פונקציה שמקבלת משתנה מטיפוס unsigned short מאותחל או מכיל תוכן רנדומלי וממירה את הערך לערך דצימלי. אודה על כל עזרה..
 

vinney

Well-known member
מה זה ערך דצימלי?

הכוונה לייצוג ASCII של הערך בספרת, מחרוזת?
 

גלחוף

New member
הכוונה היא להמרה לבסיס 10

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

גלחוף

New member
ועוד הבהרה

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

גלחוף

New member
צריך עזרה דחוף

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

vinney

Well-known member
אתה מדבר סינית

על איזו המרה אתה מדבר? אם זה לא למחרוזת, אז אין כזה דבר.
 

גלחוף

New member
זה באמת פשוט

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

galh

New member
"לכל הרוחות"?! ../images/Emo6.gif

אתה ממש, אבל ממש, לא ברור.
void to_decimal(unsigned short n) { std::cout << std::dec << n << std::endl; }​
 

גלחוף

New member
אני לא כל כך לא ברור

תודה, האם הפונקציה הזאת תעבוד על כל טיפוסי המשתנים?
 

galh

New member
אתה מאוד לא ברור.

הפונקציה תעבוד על משתנים מסוג unsigned short. הקומפיילר או אתה יכולים לנסות לעשות casting בשביל טיפוסים מסוג אחר. בשביל לכתוב פונקציה כללית, תשתמש ב- template.
template<class T> to_decimal(T t) { std::eek:ut << std::dec << t << std::endl; }​
 

vinney

Well-known member
זה המרה למחרוזת

הבנתי שזה לא מה שהוא רצה...
 

גלחוף

New member
אני אנסה להסביר את עצמי

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

גלחוף

New member
המשתמש מכניס בבסיס בינארי

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

vinney

Well-known member
רגע

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

galh

New member
אתה צריך לחזור אחורה לספר הלימוד.

זה בדיוק מה שויני ניסה להגיד לך! אין משמעות לערך. יש משמעות לצורה שאתה מראה את הערך למשתמש, בצורת מחרוזת.
 

גלחוף

New member
הפונקציה מקבלת short

הפונקציה מקבלת short בודד ולא מחרוזת ומציגה את התוכן שלו שיכול להיות בין 0 ל-65535 בבסיס דצימלי, ז"א בבסיס 10 המוכר לנו. יכול להיות שמשהו בגישה שלי לבעיה הזאת לא נכון?
 

גלחוף

New member
galh לא הבנתי אותך

מה ז"א שאין משמעות לתוכן אלא רק לאופן בו הוא מוצג?
 
למעלה