«C# dasturlash tili» O’quv qo’llanma



Download 0,57 Mb.
bet32/76
Sana20.07.2022
Hajmi0,57 Mb.
#828017
1   ...   28   29   30   31   32   33   34   35   ...   76
Bog'liq
C # ma\'lumotnoma

Siljitish Operatorlari.

S# da ma’nolarni berilgan son razryadiga ko’ra uni unga va chapka siljitishga bo’ladi.


Uning uchun S # da kuyidagi razryadli siljitish operatorlari belgilangan : << chapka siljiish; >> unga siljitish. Shu operatorlarning yozilish umumiy formati kuyidagicha:

Ma’no << bitlar^ soni;


Ma’no >> bitlar^ soni;
Bo’ yerda ma’no - bu siljitish operatorining ob’ekti , a element bitlar^ soni esa kancha raryad soniga siljitishini kursatish kerak.
Chapka bir razryadga silijitishda xamma bitlar bir poziiya chapka siljiydi, a eng kichik razryadga nul ma’nosi kuyiladi. Ungda tarafga siljitganda xamma bitlar mos ravishda ungga siljiydi. Agarda ung tarafga siljitganda belgisi yuk ma’nosi tugri kelsa, unda katta razryadga nul ma’nosi yoziladi. Agarda ung tarafga siljitganda belgisi bor ma’nosi tugri kelsa, unda razryadga belgilari saklanib koldiriladi. yeslab kuring: manfiy butun sonlar katta razryadning birga barobar Bilan kursatiladi. Sho’nday kilib, agarda siljitayotgan son ma’nosi manfiy bo’lsa, unda xar bita siljitishda katta razryadga 1 ma’nosi kuyiladi, agarda musbat bo’lsa unda -0 kuyiladi.
Unga va chapga siljitishda chetki bitlar yukoladi. Shunday kilib, bu yerda siklli emas sijtish bajariladi va bitningyukolgan ma’nosini bilsa bo’ladi.
kuyidagi dasto’rda unga va chapka siljitishi ko’rsatiladi. Siljitishdagi ma’no birga teng deb olinadi, ya’ni fakat kichik razryad ma’nosi « start boshlangandan» 1 ga teng buladi, a kolganlari esa 0 ga teng buladi. Xar bir sakkiz chapka siljitishni bajargandan kegin dasturda kichik sakkiz razryadni kursatadi. Kegin kursatilgan protsess kaytalanadi.
Endigi paytda val uzgaruvchisiga 1 kuyilmaydi 128 kuyiladi va u ikkilik kodida
1000 0000 yoziladi. Va albatta siljitish endi chapka emas a unga siljitiladi.

G’G’ << VA >> Siljitish operatorining foydalanilishi.


using System;
class ShiftDemo { public static void
Main( ) { int val q 1;
int t;
int i;

for ( i -0; i < 8; iQQ ) {


for (tq128; t > 0; t q tG’2 ) {
if (( val & t ) 1q0) Console.Write ( “1”);
if (( val & t ) qq 0) Console.Write C ”0”}; }
Console. WriteLine { ); val - val « 1; G’G’ Chapka siljitish.
}
Console.Write ( );
Val q128;
for ( i q0; i < 8; iQQ ) {
for ( tq128; t > 0; t q tG’2 ) {
if (( val & t ) 1q0) Console.Write ( “1”);
if (( val & t ) qq 0) Console.Write C ”0”);
Console.WriteLine ( );
Val q val » 1; G’G’ Ungga siljitish
bo’ dasturning natiyjasi Quyidagicha
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0
0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1

Ikkilik sonak sonlar razryadlari 2 sonini darajasini tashkil etadi, unda siljitish operatorlarini 2 ga kupaytirish yoki bulishda foydalansa buladi. Albatta bu tugri bo’ladi agarda birinchi yoki ikkinchi tarafdan ( yukoladi) ma’noli bitlar kursatilmasa.


Masalan:
G’G’ Ciljitish operatorlarini 2 ga kupaytirishda yoki
bulishda foydalanilishi.
using System;
class Mult Div
{ public static void Main( ) {
int n;

nq10;
Console. WriteLine ( « n o’zgaro’vchining ma’nosi: « Q n);


G’G’ 2 ga kupaytiramiz n qn << 1;


Console.WriteLine ( “ n o’zgaro’vchisining ma’nosi nqn*2: “ Q n dan kegin);

G’G’ 4 ga kupaytiramiz n qn << 2;


Console.WriteLine ( “ n o’zgaro’vchisining ma’nosi nqn*4: “ Q n dan kegin);

G’G’ 2 ga bo’lamiz n qn << 1;


Console.WriteLine ( “ n o’zgaro’vchisining ma’nosi nqnG’2: “ Q n dan kegin);

G’G’ 4 ga bo’lamiz;


Console.WriteLine (
“ n o’zgaro’vchisining ma’nosi nqnG’4: “ Q n dan kegin);
Console.WriteLine ( );

G’G’ Oldingi xolatini keltiramiz;


Console.WriteLine ( “ n o’zgaro’vchisining ma’nosi : “ Q n );

G’G’ 30 marotaba 2 ga kupaytiramiz.


n q n <<30; G’G’ Afsus: berilganlar yukotildi.
Sonsole.WriteLine (
” n o’zgaro’vchisining ma’nosi 30 razryadga chapka siljitish : “ Q n);

bo’ dasturning natiyjasi kuyidagicha


n o’zgaro’vchining ma’nosi: 10;


n o’zgaro’vchisining ma’nosi nqn*2: dan kegin 20;
n o’zgaro’vchisining ma’nosi nqn*4: dan kegin 80;
n o’zgaro’vchisining ma’nosi nqnG’2: dan kegin 40;
n o’zgaro’vchisining ma’nosi nqnG’4: “ dan kegin 10;

n o’zgaro’vchisining ma’nosi : 10;


n o’zgaro’vchisining ma’nosi 30 razryadga chapka siljitgandan sung: -214748364 8

Itibor beringki, dasturning oxirgi katori bajarilgannan kegin natiyjasiga.


10 sonini chapka 30 razryadga siljitgandan so’ng ( ya’ni 2 ga kupaytirilgannan kegin) axborotlar yukoladi, sababi int tipiga ajratilgan shu sonning ma’nosi kursatilgan diapazonnan tashkarisida kursatilib turibdi. Xozir siz sonning manfiy ma’nosini krib turibsiz va bu katta razryadga bir kuyilishidan kelib chikadi a bo’ esa int tipii uchun belgi sifatia foydalaniladi. Shuning natiyjasida son manfiy sonbo’lib kabil etilgandek bo’ladi. Bu dasturdan kurinib turibdiki 2 ga kupaytirishda yoki bulishda ixtiyotkorlik bilan siljitishni bajarish.

Download 0,57 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   ...   76




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish