Konwersja Int do byte

0

Jak przekonwertować zmienną typu int do byte?

Chodzi o to, aby np zmienna int o wartości 200 była przekonwertowana do byte również o wartości 200.

Z góry dzięki,
Pozdrawiam.

0

emmm

(byte)zmienna_int;

?

0

Tak nie działa - tzn zmieni np liczbę int 2 na wartość jej kodu ascii.

0

Convert.ToByte()

0

Faktycznie działa, próbowałem, ale musiałem przeoczyć. Dzięki!!

0

Jednak nie do końca ... działa tylko na liczbach poniżej 127, gdzie powinno do 255.

0

Bzdury opowiadasz: http://ideone.com/m8j2dF

0

Faktycznie w konsoli to ładnie działa. Ale właściwie chodzi mi o wysłanie tego na port szeregowy.
Ciąg buduję następująco:
int zmienna = 160;
string wyslac = ((char)Convert.ToByte(zmienna)).ToString();
port.Write(wyslac);

Na wejściu przez wirtualny port szeregowy otrzymuję liczbę 63.

1

Zapewne chodzi o SerialPort z System.IO.Ports.
Po co takie kombinacje alpejskie z tym konwertowaniem to nie wiem. Istnieją lepsze przeładowane metody Write do wysyłania danych binarnych, poczytasz o nich w dokumentacji.

http://msdn.microsoft.com/pl-pl/library/y2sxhat8(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1

By default, SerialPort uses ASCIIEncoding to encode the characters. ASCIIEncoding encodes all characters greater than 127 as (char)63 or '?'. To support additional characters in that range, set Encoding to UTF8Encoding, UTF32Encoding, or UnicodeEncoding.

1 użytkowników online, w tym zalogowanych: 0, gości: 1