بکندباز

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

  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

EXPECT_EQ(BitRotate(8, 1, true), 4);
EXPECT_EQ(BitRotate(16, 1, false), 1);
EXPECT_EQ(BitRotate(17, 2, false), 6);

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

نظرات

*
*