Avatar billede baxos Nybegynder
06. september 2007 - 22:57 Der er 15 kommentarer og
1 løsning

C# Byte forklaring

Hej eksperter! :)
- ville lige høre så vidt jeg ved kan en byte komme op til 1024 ikk'?
men i c# kan du kun angive en byte mellem 0-250?
altså
Byte b=0-250;

Hvorkan kan det være burde man ikke kunne angive det fra 0 til 1024
Avatar billede morhan Novice
06. september 2007 - 23:02 #1
En byte er 8 bit (unsigned). Så den går kun op til 255
Avatar billede arne_v Ekspert
06. september 2007 - 23:07 #2
Nej.

En byte er 0...255 eller -128..127 paa alle moderne computere.

Og hedder:
  char/unsigned char i C/C++
  sbyte/byte i C#
Avatar billede arne_v Ekspert
06. september 2007 - 23:12 #3
Jeg har arbejdet paa et system med bytes som ikke var 8 bits, men det er mange aar
siden.

C/C++ standard definerer at char er mindst 8 bit.
Avatar billede bitmatic Nybegynder
06. september 2007 - 23:40 #4
I C-standarden er en byte er ikke nødvendigvis 8 bit....

Den er defineret som:

byte:
addressable unit of data storage large enough to hold any member of the basic character set of the execution environment.
NOTE 1 It is possible to express the address of each individual byte of an object uniquely.
NOTE 2 A byte is composed of a contiguous sequence of bits, the number of which is implementationdefined. The least significant bit is called the low-order bit; the most significant bit is called the high-order bit.

At den så i praksis næsten altid er det - ja det er en helt anden historie.
Avatar billede a1a1 Novice
07. september 2007 - 00:06 #5
en byte er 8 bit (i gl. dage havde bla ibm en 9. bit til korrektion)
men "standart" er at en byte er lig 8 bit, dvs. 8 f.eks.: "10101010" ~ 170
Avatar billede baxos Nybegynder
07. september 2007 - 00:13 #6
Hmm ja okay så lærte man jo det :)
I kan alle dele pointsne synes i alle kom med ret så gode svar
Avatar billede baxos Nybegynder
07. september 2007 - 00:17 #7
Kommer lige 50 point ekstra på spørgsmålet
burde dette kode ikke gerne virke?
            MinClient = new TcpClient(ip, 9000);
            MinThread = new Thread(new ThreadStart(ReceiveData));
            MinThread.Start();
            NStream = MinClient.GetStream();

                byte[] DataByte = new byte[2];
                baData = Encoding.ASCII.GetBytes("Fuldfoert!");
                NStream.Write(DataByte, 0, DataByte.Length);
                Console.WriteLine("Done..");

Den udskriver også Done.. uden fejl men der dukker intet op på den andens skærm?
Avatar billede arne_v Ekspert
07. september 2007 - 00:33 #8
Proev at kalde:

NStream.Flush();

inden "Done".
Avatar billede arne_v Ekspert
07. september 2007 - 00:33 #9
Og overvej at wrappe din Stream i en StreamWriter.
Avatar billede baxos Nybegynder
07. september 2007 - 00:38 #10
Kan det ikke også være fordi jeg ikke får det modtaget rigtigt?
Avatar billede baxos Nybegynder
07. september 2007 - 00:41 #11
LytteStream = LytteTcp.GetStream();
            byte[] baData = new byte[1024];
            Console.WriteLine("Connected!");
            while (true)
            {
                BoolConnected = true;
                i = LytteStream.Read(baData, 0, baData.Length);
                StrModtager = Encoding.ASCII.GetString(baData);
                if (StrModtager.IndexOf("/close") == 0)
                {
                    break;
                }
                Console.WriteLine("<< " + StrModtager);
            }

Kan du se noget der.. synes nemlig ikke lige selv der er noget der falder mig ind
Avatar billede arne_v Ekspert
07. september 2007 - 02:27 #12
StrModtager = Encoding.ASCII.GetString(baData);

må skulle være:

StrModtager = Encoding.ASCII.GetString(baData, i);
Avatar billede arne_v Ekspert
07. september 2007 - 02:28 #13
Men tingene vil her være både nemmere og mere robust hvis du wrapper din Stream i en
StreamReader.

Pointen er at Stream.Read ikke nødvendigvis læser hele linier, men det gør StreamReader.ReadLine !
Avatar billede a1a1 Novice
07. september 2007 - 09:44 #14
et svar
Avatar billede baxos Nybegynder
07. september 2007 - 13:05 #15
Okay arne og hvordan gør jeg det hehe?
Avatar billede baxos Nybegynder
07. september 2007 - 13:08 #16
nå kan sgu os være lige meget..
Arne kunne ikke få StrModtager til at virke..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester