2 binary 8bit, 16bit olarak nasıl yazılabilir ?

Başlatan pcb, 08 Temmuz 2011, 23:58:13

pcb

merhaba arkadaşlar
2 farklı değişken 2 adet 8 bit binary sonuç veriyor bunları 1 adet 16bit olarak nasıl yazabiliriz ?

Klein

a int;
b char;
c char;

a = (256*b)+c;
veya
a = ( b<<8 ) | c; //protonda kaydırma ve or işlemi nasıl bilmiyorum. fikir versin diye yazdım.

-Hasan-

Picbasic ' de şöyle:

A=1. BYTE
B=2. BYTE
C=16 BIT DEĞİŞKEN

C.LOWBYTE=A
C.HIGHBYTE=B


Protonda da buna benzer bir şeydir herhalde.

pcb

a = (256*b)+c formül çalışıyor ayrıca C.LOWBYTE=A C.HIGHBYTE=B  araştırıcam

ilginize teşekkürler

ali_29

'-----değişken tanımlama------
dim veri as word
dim birinci_veri as byte
dim ikinci_veri as byte


veri.byte0 = birinci_veri
veri.byte1 = ikinci_veri

umarım yerdımcı olur

Murat Mert

#5
Alıntı yapılan: pcb - 09 Temmuz 2011, 00:09:13
a = (256*b)+c formül çalışıyor ayrıca C.LOWBYTE=A C.HIGHBYTE=B  araştırıcam

ilginize teşekkürler

Alıntı Yap'-----değişken tanımlama------
dim veri as word
dim birinci_veri as byte
dim ikinci_veri as byte


veri.byte0 = birinci_veri
veri.byte1 = ikinci_veri



S.A.
Arkadaşın dediği daha mantıklı bir yöntem pice hesap yaptırmanıza gerek yok

'-----değişken tanımlama------
dim veri as word
dim birinci_veri as byte
dim ikinci_veri as byte

birinci_veri=255
ikinci_veri=255
'birinci_veri=11111111
'ikinci_veri=11111111
basla:
veri.byte0 = birinci_veri 'high byte
veri.byte1 = ikinci_veri 'low byte

Print At 1,1, "veri bilgi=", Dec veri
Print At 2,1, "veri_bin=", Bin veri
goto basla


sana ekranda veri bilgi=65535  değerini hemen verecektir veya veri_bin=1111111111111111
mert07

-Hasan-

Alıntı YapC.LOWBYTE=A
C.HIGHBYTE=B

Peki protonda HIGHBYTE ve LOWBYTE kullanılmıyor mu?

ali_29

@Hasan Oguz

HIGHBYTE ve LOWBYTE  kulanılıyot
aynı .byte0 ve .byte1 gibi hiç bir farkı yok.