היפוך מספר ענק לבסיס בינארי

עמוד

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

מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • מאת
    תגובות
  • #77494
    שלהלה
    משתתף

    שלום שלום,

    זו בעיה שנתקלתי בה במהלך עבודתי.

    הבה נגדיר אותה כך:

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

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

    אני מודע לקיום ספריות Big Int שונות ומשונות, אך מחפש פתרון אחר.
    חייבת להיות דרך לא קשה

    #79656
    CodeGuru
    מנהל בפורום

    כותרת: תוכנית אסמבלי של 36 בתים שפותרת את השאלה
    כקלט המספר הדצימלי כתוב בכתובת 125 עם אפס לפניו (ב124) ובסופו
    כפלט תקבל את המספר הבינארי כתוב באותו השטח חזרה
    0100 FD STD
    0101 B20A MOV DL,0A
    0103 31DB XOR BX,BX
    0105 53 PUSH BX
    0106 BF2501 MOV DI,0125
    0109 59 POP CX
    010A 41 INC CX
    010B 01CF ADD DI,CX
    010D 89FE MOV SI,DI
    010F 4E DEC SI
    0110 51 PUSH CX
    0111 8A1D MOV BL,[DI]
    0113 80EB30 SUB BL,30
    0116 7C0C JL 0124
    0118 AC LODSB
    0119 F6E2 MUL DL
    011B 01D8 ADD AX,BX
    011D 86E3 XCHG AH,BL
    011F AA STOSB
    0120 E2F6 LOOP 0118
    0122 EBE5 JMP 0109
    0124 C3 RET
    מישהו יכול לקצר את התוכנית, או להסביר איך היא עובדת?

    #80096
    ליאור
    משתתף

    כותרת: ה
    א

    #80097
    ליאור
    משתתף

    כותרת: ה
    א

מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.