/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
C++ Builder
Fra : Mogens Larsen


Dato : 16-12-01 18:52

Jeg har lige et lille spørgsmål til følgende kodestump...

Buffer = Comport1->ReadByte;

If (Buffer = = X)
{
Et eller andet;
}

Hvis X er en binær værdi f.eks 10101010 hvordan angives det så...

Skriver jeg 0b10101010 melder den fejl. 0x10101010 virker, men er hvist ikke
en binær værdi.



 
 
Martin Dyring (16-12-2001)
Kommentar
Fra : Martin Dyring


Dato : 16-12-01 19:07

"Mogens Larsen" <mnla00@kom.auc.dk> wrote in message
news:9vin06$ltd$1@sunsite.dk...
> Hvis X er en binær værdi f.eks 10101010 hvordan angives det så...
>
> Skriver jeg 0b10101010 melder den fejl. 0x10101010 virker, men er hvist
ikke
> en binær værdi.

C understøtter så vidt jeg husker ikke angivelse i andet end oktal, decimal
og hexadecimal form..
Du kan evt. bruge Windows's indbyggede lommeregner til at konvertere fra
eks. binær til hex (som jeg vil tro de fleste foretrækker at se på, i det
mindste når vi snakker bit-pilleri).

--
Mvh,
Martin Dyring



Soeren Sandmann (16-12-2001)
Kommentar
Fra : Soeren Sandmann


Dato : 16-12-01 19:26

"Martin Dyring" <mda@image.dk> writes:

> Du kan evt. bruge Windows's indbyggede lommeregner til at konvertere fra
> eks. binær til hex (som jeg vil tro de fleste foretrækker at se på, i det
> mindste når vi snakker bit-pilleri).

En anden mulighed er en headerfil med konstanter:

enum {
B00000001 = 1,
B00000010 = 2,
B00000011 = 3,
...
};

Det er ikke svært at skrive et program som genererer sådan en
fil. Dette program som jeg skrev i tidernes morgen vil måske være
nyttigt:

#include <limits.h>
#include <stdio.h>

void
char_to_bin (unsigned char c)
{
int i;
unsigned int mask = 1 << 7;

printf ("B");

for (i = 0; i < CHAR_BIT; i++)
{
   if (c & mask)
    printf ("1");
   else
    printf ("0");
   mask >>= 1;
}
printf (" = 0x%02x,\n", c);
}

int
main ()
{
int i;
for (i = 0; i < 256; ++i)
   char_to_bin (i);
return 0;
}

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste