PLC ile girilen sayının basamaklarını elde etme

Aslnfkrt

Üye
Katılım
29 Ağu 2019
Mesajlar
26
Puanları
3
Yaş
24
Merhabalar, sayı girişine girilen sayının basamak değerini ve en sol basamağında ki rakamı veren bir program yazmak istiyorum,
Basamak değerini sayının logaritmasını alıp bir ekleyip floor yaparak elde ettim ama en sol basamakta ki rakamı nasıl yakalarım?
Yardımlarınız için teşekkür ederim
 

elektronikmuh

Yönetici
Yönetici
Yönetici
Katılım
13 Ocak 2007
Mesajlar
1,926
Puanları
1,768
Yaş
42
Kod:
PROGRAM PLC_PRG
VAR
    SAYI: INT;
    BASAMAK:ARRAY[0..4] OF  INT;
END_VAR
Kod:
BASAMAK[0] :=   SAYI MOD(10);
BASAMAK[1] := ((SAYI- BASAMAK[0]) /10) MOD 10 ;
BASAMAK[2] := ((SAYI-(BASAMAK[1]*10   + BASAMAK[0])) /100 ) MOD 10 ;
BASAMAK[3] := ((SAYI-(BASAMAK[2]*100  + BASAMAK[1]*10  + BASAMAK[0]) )/1000) MOD 10 ;
BASAMAK[4] := ((SAYI-(BASAMAK[3]*1000 + BASAMAK[2]*100 + BASAMAK[1]*10 + BASAMAK[0]))/10000) MOD 10;
 
Son düzenleme:

eemyazgan

Üye
Katılım
25 Kas 2018
Mesajlar
28
Puanları
3
Yaş
23
ladder da yazıyorsanız ladder programını anlatabilirim.
 

elektronikmuh

Yönetici
Yönetici
Yönetici
Katılım
13 Ocak 2007
Mesajlar
1,926
Puanları
1,768
Yaş
42
Kod:
PROGRAM PLC_PRG
VAR
    SAYI: INT;
    BASAMAK:ARRAY[0..4] OF  INT;
    i,n,BasamakSayisi,EnBuyukBasamak: INT;
    MaxBasamak: INT:= 4;   
    Hesapla: BOOL;
END_VAR
Kod:
    IF Hesapla THEN
        BasamakSayisi :=0;
        Hesapla := FALSE;
        BASAMAK[0]:=   SAYI MOD(10);
        BASAMAK[1]:=(( SAYI-BASAMAK[0]) /10) MOD 10 ;
        BASAMAK[2]:=( (SAYI-(BASAMAK[1]*10 + BASAMAK[0])) /100 ) MOD 10 ;
        BASAMAK[3] :=(( SAYI- (BASAMAK[2]*100+ BASAMAK[1]*10 + BASAMAK[0]) )/1000) MOD 10 ;
        BASAMAK[4] :=(( SAYI- (BASAMAK[3]*1000+BASAMAK[2]*100+ BASAMAK[1]*10 + BASAMAK[0]))/10000) MOD 10;

        FOR i:=0 TO MaxBasamak DO
            IF BASAMAK[i] <> 0 THEN
                BasamakSayisi         := BasamakSayisi +1 ;
                EnBuyukBasamak        := BASAMAK[i];
            END_IF;
        END_FOR;
    END_IF;
 
Son düzenleme:

Sponsor Bağlantı

Forum istatistikleri

Konular
108,207
Mesajlar
763,932
Kullanıcılar
401,818
Son üye
Hamza66

Yeni konular

Üst