PDA

View Full Version : شمردن تعداد بیت های یک در یک مقدار پیش فرض



fery
چهارشنبه 03 مرداد 1386, 00:21 صبح
شمردن تعداد بیت های یک در یک مقدار پیش فرض
از کجا بفهمم که مثلا این مقدار پیش فرض ( 011010111) چند تا یک داره ؟ تقریبا مقداریشو نوشتم من میام اند می کنم و هر بار که یک باشه یه متغیر رو یک واحد اضافه می کنم ولی وقتی به آخرین بیت میرسم نمی دونم چطوری برنامه رو به پایان برسونم و تعداد یک ها رو چاپ کنم ؟
ممنون

Alay102
پنج شنبه 04 مرداد 1386, 01:11 صبح
دوست عزیز اگه مشکلت تو بدست آوردن تعداد یک هاست خوب می تونی از دستورات Shift و یا از دستورات Rotate (چرخشی) هم استفاده بکنی ! این دستورات محتوای یک Register و یا یک خانه حافظه را ، یک یا چند بیت Shift و یا Rotate می دهند ! با این توضیج که بیت هایی که Shift و یا Rotate داده می شوند وارده بیت CF نیز می شوند و شما با استفاده از دستورات Jump مثل JC و یا JNC می توانی تعداد بیتهای یک را بشماری !!

و یا اگر مشکلت تو چاپ تعداد یک ها است ، خوب باید ابتدا اون عدد رو (منظورم همون عدد حاصل از شمارش یک ها ست ) رو تبدیل به یک کد ASCII بکنی و بعد اون رو چاپ بکنی ....

موفق باشی ...