بکندباز

تابعی برای چرخش بیت ها ایجاد کنید به صورتی که سه پارامتر داشته باشد:

  1. n: عدد صحیح که در فرم باینری باید چرخانده شود.
  2. m: تعداد مراحل چرخشی که باید انجام شود.
  3. d: دودویی; True= چرخش به راست، False= چرخش به چپ.

تابع شما باید یک عدد صحیح را در نتیجه نمایش دودویی چرخانده آن برگرداند.

این تابع باید عدد صحیح n را به فرم باینری اش تبدیل کند. سپس به تعداد مراحل m ، بیت ها را به راست یا چپ (طبق d) بچرخاند و سپس نتیجه را دوباره به عدد صحیح تبدیل کند.

نمونه ورودی و خروجی

bit_rotate(8, 1, True) ➞ 4

bit_rotate(16, 1, False) ➞ 1

bit_rotate(17, 2, False) ➞ 6
در مثال اول عدد 8 در باینری برابر است با 1000: با یکبار چرخش به راست حاصل 0100 می شود که برابر است با 4

bit_rotate(8, 1, True)  ➞ 4
bit_rotate(16, 1, False)  ➞ 1
bit_rotate(17, 2, False)  ➞ 6

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*