این برنامه عددی را از ورودی دریافت کرده و بررسی میکند که بیت سمت چپترین آن در نمایش دودویی برابر با ۱ یا ۰ است.
این بیت بهعنوان بیت پرارزشترین شناخته میشود و نشاندهنده بالاترین توان ۲ در عدد است.
برای این منظور، ابتدا عدد به باینری تبدیل شده و اولین بیت غیر صفر بررسی میشود.
def check_msb(num):
binary = bin(num)[2:] # حذف پیشوند '0b'
msb = binary[0] if binary else '0'
print(f"Binary: {binary}")
if msb == '1':
print("پرارزشترین بیت برابر با ۱ است.")
else:
print("پرارزشترین بیت برابر با ۰ است.")
# اجرای برنامه
num = int(input("عدد را وارد کنید: "))
check_msb(num)
عدد را وارد کنید: 12
Binary: 1100
پرارزشترین بیت برابر با ۱ است.
عدد را وارد کنید: 0
Binary: 0
پرارزشترین بیت برابر با ۰ است.
- عدد به رشته دودویی تبدیل میشود با استفاده از bin()
- بیت اول رشته دودویی همان بیت پرارزشترین است
- اگر برابر با 1 باشد، عدد دارای بیت پرارزش فعال است
- اگر برابر با 0 باشد، عدد صفر است یا فاقد بیت فعال در سمت چپ