بکندباز

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

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

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

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

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

BitRotate(8, 1, True) ➞ 4

BitRotate(16, 1, False) ➞ 1

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

Assert.Equal(4, Backendbaz.BitRotate(8, 1, true));
Assert.Equal(1, Backendbaz.BitRotate(16, 1, false));
Assert.Equal(6, Backendbaz.BitRotate(17, 2, false));

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

نظرات

*
*