פורסם 2007 ביוני 2518 שנים איזה בלאגן.לא, SHIFT RIGHT ב-8 לא יתן לך את "3 הספרות הנמוכות". אפילו אם היית עובד בבסיס בינארי (אבל אתה מעוניין בדצימלי, אני מניח, כלומר בסיס 10). הוא גם לא מביא לך את הביטים הנמוכים, אלא את הביטים הגבוהים.אם אתה מעוניין לקבל את שתי הספרות הנמוכות בבסיס 16 אז אתה יכול לעשות משהו כמו:low_digits = number & 0xFFאם number הוא 1ABCD4 אז low_digits יהיה D4.("&" הוא AND על סיביות ב-C)
פורסם 2007 ביוני 2518 שנים איזה בלאגן. לא, SHIFT RIGHT ב-8 לא יתן לך את "3 הספרות הנמוכות". אפילו אם היית עובד בבסיס בינארי (אבל אתה מעוניין בדצימלי, אני מניח, כלומר בסיס 10). הוא גם לא מביא לך את הביטים הנמוכים, אלא את הביטים הגבוהים. אם אתה מעוניין לקבל את שתי הספרות הנמוכות בבסיס 16 אז אתה יכול לעשות משהו כמו: low_digits = number & 0xFF אם number הוא 1ABCD4 אז low_digits יהיה D4. ("&" הוא AND על סיביות ב-C) הכל טוב ויפה, רק חבל שגילית לו הכל.. ככה לפחות היה לומד משהו...
פורסם 2007 ביוני 2618 שנים האם על ידי מודולו 100? מבחינת אלגוריתם זה פתרון טוב, כי הוא יתאים גם לכל מספר.
פורסם 2007 ביוני 2618 שנים מחבר איזה בלאגן.לא, SHIFT RIGHT ב-8 לא יתן לך את "3 הספרות הנמוכות". אפילו אם היית עובד בבסיס בינארי (אבל אתה מעוניין בדצימלי, אני מניח, כלומר בסיס 10). הוא גם לא מביא לך את הביטים הנמוכים, אלא את הביטים הגבוהים.אם אתה מעוניין לקבל את שתי הספרות הנמוכות בבסיס 16 אז אתה יכול לעשות משהו כמו:low_digits = number & 0xFFאם number הוא 1ABCD4 אז low_digits יהיה D4.("&" הוא AND על סיביות ב-C)לא הבנתי כלום
פורסם 2007 ביוני 2618 שנים & זו פעולת וגם על ביטים.x & 0xFFזה בעצם לעשות וגם בין כל הביטים של X לבין ביטים ש8 הLSB שלהם הוא 1, והשאר 0.זה בעצם שולף לך את הLSB.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.