İki adc kanalının girişi arasındaki fark, 10 ile 100 arası bir değere set edilsin.
Ölçüm alındığında bu fark varsa bir bit Hıgh olsun.
Bu kod nasıl yazılmalıdır?
Örneğin;
Set edilen değer 100 olsun,
A kanalı 512
B kanalı 412 olsun.
Bu olduğunda ise C biti hıgh olsun.
Bu işlemi yapacak kod ana döngü içinde veya tercihen bir kesme içinde nasıl yazılmalıdır?
Daima A>B olacak ise ;
FARK=A-B
IF FARK=>100 THEN HIGH C 'Fark 100 e eşit yada büyük ise C=1
şeklindeki kod işini çözer.
Fark denilen şey A>B veya B>A şeklinde olacak ise ;
FARK=ABS(A-B)
IF FARK=>100 THEN HIGH C
şeklinde kod işini görecektir.
Ete
ABS komutu absolute yani işarete bakmaksızın farkı verir.
A=200
B=300 olsun
FARK=A-B=200-300=-100 değerini verir
FARK=A-B=100 değerini verir.
Aslında basic matematiğinde -100 hesaplama mantığı yoktur. Bu nedenle A ve B Word cinsinden değişkenler ise (öyle olmak zorunda) FARK=A-B=100-200=65436 değerini sana verir ki buda senin hesabında yanlış sonuç üretir.
Ama FARK=ABS(A-B)=100 sonucunu verecektir.
ABS komutu olmasa idi şöyle yapacaktın.
IF A>B Then FARK=A-B
IF B>A Then FARK=B-A
bu iki satır yerine
FARK=ABS(A-B) yazman yeterli olacaktır.
Ete
Sormakta çok iyi etmişim.
Bu güne kadar ABS diye bir kodun varlığından habersizdim.
Çok teşekkürler Hocam.
İyi Bayramlar.
ABS aslında matematikteki mutlak deger anlamına geliyor.
Alıntı yapılan: muyat - 14 Haziran 2024, 15:11:15ABS aslında matematikteki mutlak deger anlamına geliyor.
Denklemin Matematikteki karşılığı nasıl yazılıyor?
Büyük olandan küçük olanı çıkart denklem budur. Yada küçükten büyüğü çıkart sonuç eksi çıkmasına rağmen işareti sil kullanma hepsi bu. Başka bir karşılık ben bilmiyorum.
Ete
Alıntı yapılan: elektro77 - 14 Haziran 2024, 18:36:12Denklemin Matematikteki karşılığı nasıl yazılıyor?
|A-B|= |B-A|=
hep pozıtıf olur sonucu