Bosh sahifa Wiki Binary number

Binary number

Binary number — qiymatni faqat ikki raqam, 0 va 1, yordamida ifodalovchi pozitsion sanoq tizimidagi sondir. Uning asosi 2 bo‘lib, har pozitsiyaning og‘irligi ikkining darajasidir. Raqamli elektronika ikki barqaror holatni ishonchli ajrata olgani uchun kompyuterlar ma’lumot va buyruqlarni bitlar ko‘rinishida saqlaydi hamda qayta ishlaydi.

Pozitsion qiymat

1011₂ sonida o‘ngdan chapga og‘irliklar 2⁰, , , bo‘ladi:

1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11₁₀

Chapdagi nol qiymatni o‘zgartirmaydi, lekin fixed-width formatda bit uzunligini bildiradi. Masalan, 00001011 bir byte ichidagi 11 qiymatidir.

Konvertatsiya

Musbat decimal sonni binaryga o‘tkazishda uni 2ga takror bo‘lib, qoldiqlar teskari tartibda o‘qiladi. 13 uchun qoldiqlar 1,0,1,1, natija 1101₂. Binarydan decimalga o‘tishda har 1 bitning pozitsion og‘irliklari qo‘shiladi.

Har to‘rt bit bitta hexadecimal raqamga mos. 1110 0101₂ qiymati E5₁₆ bo‘ladi. Hexadecimal yozuv uzun bit satrini ixcham ko‘rsatadi, ammo ichki bit qiymati o‘zgarmaydi.

Bit amallari

AND ikki bit ham 1 bo‘lsa 1, OR kamida biri 1 bo‘lsa 1, XOR bitlar turlicha bo‘lsa 1 beradi. NOT bitni teskarilaydi. Left shift ko‘p hollarda unsigned qiymatni 2 darajasiga ko‘paytirishga, right shift bo‘lishga o‘xshaydi, lekin overflow va signed semantika tilga bog‘liq.

Bit mask ma’lum flaglarni ajratadi. Masalan, value & 0b00000100 uchinchi bit o‘rnatilganini tekshiradi. Flaglar compact, ammo nomlangan constant va hujjatsiz binary literal kodni o‘qishni qiyinlashtiradi.

Manfiy sonlar

Ko‘p tizim signed integer uchun two’s complement ishlatadi. N bitli formatda eng yuqori bit manfiy og‘irlikka ega deb talqin qilinishi mumkin. 8 bitli 11111111 unsigned holda 255, signed two’s complementda -1dir. Bitlar bir xil, talqin typega bog‘liq.

N bitli signed two’s complement diapazoni -2^(N-1) dan 2^(N-1)-1 gacha. Musbat chegaradan oshish overflow keltiradi. Dasturlash tili signed overflowni wrap, exception yoki undefined behavior sifatida belgilashi mumkin.

Kasr qiymatlar

Binary fraction nuqtadan keyin 2⁻¹, 2⁻² kabi og‘irliklardan foydalanadi. 0.101₂ = 1/2 + 0/4 + 1/8 = 0.625. Decimaldagi ayrim oddiy kasrlar, masalan 0.1, binaryda cheksiz takrorlanadi. Floating-point format uni cheklangan aniqlikda yaqinlashtiradi.

Shu sabab pul hisobida binary floating-point natijani bevosita tenglik bilan solishtirish xato bo‘lishi mumkin. Decimal type yoki eng kichik birlikdagi integer tanlanadi.

Arithmetic

Binary qo‘shish decimal qo‘shishga o‘xshaydi, faqat 1 + 1 = 10₂ bo‘lib, bir carry keyingi pozitsiyaga o‘tadi. 1 + 1 + 1 = 11₂. Hardware adder XOR orqali sum bitini, AND va boshqa mantiq orqali carry’ni hisoblaydi.

Fixed-width registerda natija sig‘masa yuqori bit yo‘qolishi mumkin. Unsigned addition modulo 2^N bo‘yicha wrap qiladi. Signed two’s complementda overflow operandlar bir xil signli bo‘lib, natija boshqa signli chiqqanda aniqlanishi mumkin. Carry flag va overflow flag bir xil ma’no bermaydi.

Binary literal ko‘p tillarda 0b1010 ko‘rinishida yoziladi. Leading zero va bit guruh separatorlari readabilityni oshiradi, lekin parser qoidasi tilga xos. Tarmoq protokoli yoki fayl formati bit fieldlarining pozitsiyasi va endiannessini aniq belgilashi kerak.

Bog‘liq tushunchalar

Bit, Byte, Hexadecimal, Two’s complement, Bitwise operation, Floating-point number, Number system