Kompyuterda bajariladigan barcha arifmetik amallar ikkilik sanoq sistemasida bajariladi. Sonlar avval ikkilik sanoq sistemasiga o’tiriladi va har bir biti bo’yicha amal bajariladi. Bit sonning ikkilik sanoq sistemasidagi bitti razryadini ifodalaydi. U 0 yoki 1 ga teng bo’lishi mumkin. C++ da int tipidagi sonlarni ifodalash va ular ustida amallar 32 razriyad bo’yicha bajariladi. Masalan 1234025 soni ikkilik sanoq sistemasida
100101101010001101001 ga teng.
32 razryadga to’ldirsak:
32 razryadga to’ldirsak:
00000000000100101101010001101001
Razryad nomerlari 0 dan 30 gacha oxiridan boshlab nomerlana-di. Masalan qizil rangli bit 6-bit hisoblanadi.
Sonni ikkilik sanoq sistemasiga o’tirish.
Sonni to u nol bo’lmagunga qadar ikkiga bo’lgandagi qoldiqni olib boramiz va uni teskari tartibda biror satrga qo’shib boramiz.
int main() {
int n;
cin>>n;
string s = "";
while (n > 0) {
s = (char)(n % 2+48)+s;
n /= 2;
}
cout<
return 0;
}
Topshiriq: dastur kodida kichik hato bor. Uni toping, aks holda 608-masalada WA#8 olasiz.
Topshiriq: dastur kodida kichik hato bor. Uni toping, aks holda 608-masalada WA#8 olasiz.
2 likdan 10 likga o’tish uchun ikkinin darajalari bo’yicha qo’shib chiqamiz. Har bir bit o’z nomeridagi 2 ning darajasiga ko’paytiriladi. Masalan 1001101 = 1*26+0*25+0*24+1*23+1*22+0*21+1*20=77.