Odatda, sonli o‟zgaruvchilarni aniqlashda ularga qiymat o‟nlik sanoq sistemasida beriladi. O‟nlik sanoq sistemalardan tashqari Pythonda sonlarni ikkilik, sakkizlik va o‟n oltilik sanoq sistemalarida ham ifodalash mumkin. Sonni ikkilik sanoq sistemasida ifodalash uchun qiymat oldiga 0b, sakkizlikda 0o va o‟n oltilikda 0x belgilar jufligi qo‟yiladi. Masalan:
1
2
3
4
5
6
|
son1 = 5
son2 = 0b110 # 6 son3 = 0o11 # 9 son4 = 0x1a # 26
print(son1,son2,son3,son4) # 5 6 9 26
print(son1 +son3) # 14
|
Turli xil sanoq sistemalarda ifodalangan sonlar ustida bajarilgan amallar natijasi o‟nlik sanoq sonlarda ifodalaniladi. Shuning uchun yuqoridagi dasturda print(son1 +son3) ifodaning natijasi 14 soni o‟nlik sanoq sistemasida ekranga chiqariladi.
Bundan tashqari ixtiyoriy butun sonni ikkilik, sakkizlik va o‟n oltilik sanoq sistemalarida ifodalash mumkin. Masalan, quyidagi dasturda 15 sonining turli sanoq sistemalardagi ifodalanishi tasvirlangan:
1
2
3
4
5
6
|
son = 15
print("{0}".format(son)) # 15
print("{0:0b}".format(son)) # 1111
print("{0:07b}".format(son)) # 0001111
print("{0:0o}".format(son)) # 17
print("{0:0x}".format(son)) # f
|
Yuqoridagi dasturning 4-satrida keltirilgan {0:07b} ifodadagi 7 soni yozuvida nechta raqam bo‟lishi kerakligini ifodalaydi. Shuning uchun 0001111 natija hosil qilingan. Sonni ifodalovchi qiymat, ko‟rsatilgan uzunlikda bo‟lmasa, u holda qiymat old qismi 0 raqami bilan to‟ldiriladi (yuqorida 1111 qiymat old qismiga 000 raqamlar ketma-ketligi qo‟yilgan).
Do'stlaringiz bilan baham: |