/ 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
variabel som binært tal
Fra : krogh


Dato : 14-05-02 10:24

jeg vil gerne finde ud af hvordan man lægger en værdi over i en variabel
som et binært tal

det skal være være en metode der kan køre under C

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
Bjarke Dahl Ebert (14-05-2002)
Kommentar
Fra : Bjarke Dahl Ebert


Dato : 14-05-02 11:17

"krogh" <krogh.news@kandu.dk> wrote in message
news:YE4E8.4938$HN.196606@news010.worldonline.dk...

> jeg vil gerne finde ud af hvordan man lægger en værdi over i en variabel
> som et binært tal
>
> det skal være være en metode der kan køre under C

int a = 42; // lægger 42 over i variablen 'a' som et binært tal.

Alle tal er jo binære. Eller hexadecimale. Eller hvordan man nu vælger at se
dem.
Vil du have en den binære repræsentation som en streng (sådan at din
variabel er en strengvariabel), eller har du i forvejen tallet som en binær
strengrepræsentation, eller hvordan?
Du bliver nok nødt til at præcisere problemet noget mere.

Bjarke





David Rasmussen (14-05-2002)
Kommentar
Fra : David Rasmussen


Dato : 14-05-02 11:40

krogh wrote:
> jeg vil gerne finde ud af hvordan man lægger en værdi over i en variabel
> som et binært tal
>
> det skal være være en metode der kan køre under C
>

Hvis du mener noget i stil med

int a = 0b1110 1101 1011;

så kan det ikke lade sige gøre i C. Konverter tallet til hexadecimalt,
hvor det stadig er rimeligt let at se den binære repræsentation, og som
C kan klare. Så kan du skrive

int a = 0xEDB

/David


David Rasmussen (14-05-2002)
Kommentar
Fra : David Rasmussen


Dato : 14-05-02 11:53

David Rasmussen wrote:
> krogh wrote:
>
>> jeg vil gerne finde ud af hvordan man lægger en værdi over i en variabel
>> som et binært tal
>> det skal være være en metode der kan køre under C
>
>
> Hvis du mener noget i stil med
>
> int a = 0b1110 1101 1011;
>

Jeg mente selvfølgelig

int a = 0b111011011011;

:)

/David


krogh (16-05-2002)
Kommentar
Fra : krogh


Dato : 16-05-02 11:40

Tak for svaret David Rasmussen.
det er måske et af de nemmere spørgsmål, men jeg er forholdsvis ny i
faget, så det er rart at få lidt kvalificeret hjælp.

Jeg takker

MVH
Krogh
                        

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Byrial Jensen (14-05-2002)
Kommentar
Fra : Byrial Jensen


Dato : 14-05-02 16:25

David Rasmussen <david.rasmussen@gmx.spam.egg.sausage.and.spam.net> skrev:
> Hvis du mener noget i stil med
>
> int a = 0b1110 1101 1011;
>
> så kan det ikke lade sige gøre i C. Konverter tallet til hexadecimalt,

.... eller oktalt:

int a = 07333; // Konstanter som begynder med 0 er oktale.

Jonas Meyer Rasmusse~ (15-05-2002)
Kommentar
Fra : Jonas Meyer Rasmusse~


Dato : 15-05-02 20:52

"krogh" <krogh.news@kandu.dk> writes:

> jeg vil gerne finde ud af hvordan man lægger en værdi over i en variabel
> som et binært tal

accu-general malinglisten havde en diskussion om det en gang i februar.
Den mest interessante post, er nok den her, som vist foreslår
en løsning i C.

http://www.accu.org/hypermail/private/accu-general/200202/0229.htm


mvh Jonas

Jens Axel Søgaard (15-05-2002)
Kommentar
Fra : Jens Axel Søgaard


Dato : 15-05-02 22:03

Jonas Meyer Rasmussen wrote:

> http://www.accu.org/hypermail/private/accu-general/200202/0229.htm

Hvilket brugernavn og password skal jeg bruge?

--
Jens Axel Søgaard




Rasmus Kaae (16-05-2002)
Kommentar
Fra : Rasmus Kaae


Dato : 16-05-02 06:22

"krogh" <krogh.news@kandu.dk> wrote in message
news:YE4E8.4938$HN.196606@news010.worldonline.dk...
> jeg vil gerne finde ud af hvordan man lægger en værdi over i en variabel
> som et binært tal
>
> det skal være være en metode der kan køre under C


har du en tekstrepræsentation af det binære tal, eller hvordan ligger det?

Jeg kunne selv forestille mig noget der minder om :


#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>

int main(int argc, char **argv)
{
char * BinNumString = "010101010010101010";
int i, p;
int BinNumInt;

BinNumInt = 0;
p=0;
for (i=strlen(BinNumString)-1; i>=0; i--, p++, BinNumInt += pow(2,
p)*(BinNumString[i]=='1'?1:0));
printf("%sb = %id\n", BinNumString, BinNumInt); // resultatet skal være
87210d
getch();
return 0;
}




Byrial Jensen (16-05-2002)
Kommentar
Fra : Byrial Jensen


Dato : 16-05-02 19:42

Rasmus Kaae <macaw@WHATEVERMAKESYOUHAPPYhotmail.com> skrev:
> "krogh" <krogh.news@kandu.dk> wrote in message
>> jeg vil gerne finde ud af hvordan man lægger en værdi over i en variabel
>> som et binært tal

> char * BinNumString = "010101010010101010";
> int i, p;
> int BinNumInt;
>
> BinNumInt = 0;
> p=0;
> for (i=strlen(BinNumString)-1; i>=0; i--, p++, BinNumInt += pow(2,
> p)*(BinNumString[i]=='1'?1:0));

Hmm, den for-sætning er svær at læse og sikkert også forholdsvis
langsom at udføre. Jeg vil foreslå denne forsimpling (utestet):

BinNumInt = 0
for ( ; *BinNumString ; BinNumString++)
{
BinNumInt <<= 1;
   BinNumInt += *BinNumString - '0';
}


>> det skal være være en metode der kan køre under C

> #include <conio.h>
> getch();

Disse 2 linjer kan ikke køre under (standard) C.

Rasmus Kaae (17-05-2002)
Kommentar
Fra : Rasmus Kaae


Dato : 17-05-02 09:04


"Byrial Jensen" <bjensen@nospam.dk> wrote in message
news:slrnae7vf5.1h4.bjensen@ask.ask...
> Rasmus Kaae <macaw@WHATEVERMAKESYOUHAPPYhotmail.com> skrev:
> > "krogh" <krogh.news@kandu.dk> wrote in message
> >> jeg vil gerne finde ud af hvordan man lægger en værdi over i en
variabel
> >> som et binært tal
>
> > char * BinNumString = "010101010010101010";
> > int i, p;
> > int BinNumInt;
> >
> > BinNumInt = 0;
> > p=0;
> > for (i=strlen(BinNumString)-1; i>=0; i--, p++, BinNumInt += pow(2,
> > p)*(BinNumString[i]=='1'?1:0));
>
> Hmm, den for-sætning er svær at læse og sikkert også forholdsvis
> langsom at udføre. Jeg vil foreslå denne forsimpling (utestet):

det var lidt min pointe

> >> det skal være være en metode der kan køre under C
>
> > #include <conio.h>
> > getch();
>
> Disse 2 linjer kan ikke køre under (standard) C.

Formentlig ikke, men hvor mange ansi-c compilere bruger du? gcc og vc er
ligeglade.



Igor V. Rafienko (17-05-2002)
Kommentar
Fra : Igor V. Rafienko


Dato : 17-05-02 14:58

[ Rasmus Kaae ]

[ snip ]

> > > #include <conio.h>
> > > getch();
> >
> > Disse 2 linjer kan ikke køre under (standard) C.
>
> Formentlig ikke, men hvor mange ansi-c compilere bruger du? gcc og
> vc er ligeglade.


Nei:

$ gcc foo.c
foo.c:3: conio.h: No such file or directory
$





ivr
--
C++: "an octopus made by nailing extra legs onto a dog"
            -- Steve Taylor, 1998

Byrial Jensen (17-05-2002)
Kommentar
Fra : Byrial Jensen


Dato : 17-05-02 21:40

Rasmus Kaae <macaw@WHATEVERMAKESYOUHAPPYhotmail.com> skrev:
> "Byrial Jensen" <bjensen@nospam.dk> wrote in message
>>
>> Hmm, den for-sætning er svær at læse og sikkert også forholdsvis
>> langsom at udføre. Jeg vil foreslå denne forsimpling (utestet):
>
> det var lidt min pointe

Ikke forstået. Hvad er pointen i at skrive svært læseligt kode?

>> Disse 2 linjer kan ikke køre under (standard) C.
>
> Formentlig ikke, men hvor mange ansi-c compilere bruger du? gcc og vc er
> ligeglade.

Det er ikke interessant for dette hvad jeg bruger. Pointen er at
Krogh spurgte efter en løsning i C.

(Men nu du spørger, svarer jeg da gerne: Jeg bruger tiest 2
C-oversættere. Den ene (en kommerciel oversætter til
ARM-arkitektur) er stort set en ren ANSI C-oversætter med enkelte
udvidelser og noget fejlbehæftet. Den anden er gcc som heldigvis
nu stort set forstår C99. Ingen af de to kender conio.h).

Rasmus Kaae (18-05-2002)
Kommentar
Fra : Rasmus Kaae


Dato : 18-05-02 11:13

OK, men conio.h bliver så udelukkende brugt til getch() så man kunne
beskylde dig for at være pedant, og det vil jeg så gøre - pedant.

> Det er ikke interessant for dette hvad jeg bruger. Pointen er at
> Krogh spurgte efter en løsning i C.




Bertel Lund Hansen (18-05-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 18-05-02 11:24

Rasmus Kaae skrev:

>OK, men conio.h bliver så udelukkende brugt til getch() så man kunne
>beskylde dig for at være pedant, og det vil jeg så gøre - pedant.

Er man pedant hvis man gør opmærksom på at en angivet løsning
ikke virker? Du kommer ikke langt med programmering hvis du ser
stort på den slags ting.

--
Bertel
http://lundhansen.dk/bertel/   FIDUSO: http://fiduso.dk/

Rasmus Kaae (20-05-2002)
Kommentar
Fra : Rasmus Kaae


Dato : 20-05-02 18:28


"Bertel Lund Hansen" <nospam@lundhansen.dk> wrote in message
news:lsaceu0lqnkk8lcsou7rr6cpjqgb6kj49m@sunsite.auc.dk...
> Rasmus Kaae skrev:
>
> >OK, men conio.h bliver så udelukkende brugt til getch() så man kunne
> >beskylde dig for at være pedant, og det vil jeg så gøre - pedant.
>
> Er man pedant hvis man gør opmærksom på at en angivet løsning
> ikke virker? Du kommer ikke langt med programmering hvis du ser
> stort på den slags ting.

det er da pedanteri når det eneste getch() (=> conio.h) bliver brugt til er
at holde en pause efter programmet udførsel.

FUT: null



Igor V. Rafienko (21-05-2002)
Kommentar
Fra : Igor V. Rafienko


Dato : 21-05-02 11:27

[ Rasmus Kaae ]

[ snip ]

> det er da pedanteri når det eneste getch() (=> conio.h) bliver brugt
> til er at holde en pause efter programmet udførsel.


Da er det et utrolig dustete _miljø_, som ikke tillater å se en
resultater som programmet produserer. Og det å rette det opp kan
gjøres på en standard måte (dog, på bekostning av 1 tastetrykk
ekstra).





ivr
--
C++: "an octopus made by nailing extra legs onto a dog"
            -- Steve Taylor, 1998

Rasmus Kaae (21-05-2002)
Kommentar
Fra : Rasmus Kaae


Dato : 21-05-02 12:07


"Igor V. Rafienko" <igorr@ifi.uio.no> wrote in message
news:xjvr8k5lrt6.fsf@albino.ifi.uio.no...
> [ Rasmus Kaae ]
>
> [ snip ]
>
> > det er da pedanteri når det eneste getch() (=> conio.h) bliver brugt
> > til er at holde en pause efter programmet udførsel.
>
>
> Da er det et utrolig dustete _miljø_, som ikke tillater å se en
> resultater som programmet produserer. Og det å rette det opp kan
> gjøres på en standard måte (dog, på bekostning av 1 tastetrykk
> ekstra).

jeg troede dette var en dansk nyhedsgruppe.



Mogens Hansen (21-05-2002)
Kommentar
Fra : Mogens Hansen


Dato : 21-05-02 12:23


"Rasmus Kaae" <macaw@WHATEVERMAKESYOUHAPPYhotmail.com> wrote

> jeg troede dette var en dansk nyhedsgruppe.

Det er overvejende en nyhedsgruppe for folk der er i stand til at tænke.
Der er ikke nogen grund til at underkende de mange gode råd, præget af en
stor viden, som Igor V. Rafienko har kommet med på denne nyhedsgruppe gennem
årene, alene på grund af sprog.
Det er for primitivt at forfalde til småracistiske kommentarer, blot fordi
andre ikke er enige i dine synspunkter, og du ikke har reele argumenter med
substans.


Venlig hilsen

Mogens Hansen



Rasmus Kaae (21-05-2002)
Kommentar
Fra : Rasmus Kaae


Dato : 21-05-02 14:57

> > jeg troede dette var en dansk nyhedsgruppe.
>
> Det er overvejende en nyhedsgruppe for folk der er i stand til at tænke.
> Der er ikke nogen grund til at underkende de mange gode råd, præget af en
> stor viden, som Igor V. Rafienko har kommet med på denne nyhedsgruppe
gennem
> årene, alene på grund af sprog.

Jeg er enig i at Igor VR's indlæg somregel er ganske fornuftige, men han
skrev ikke decideret letlæselig norsk i den mail jeg kommenterede (hvilket
udløste min respons).

> Det er for primitivt at forfalde til småracistiske kommentarer, blot fordi
> andre ikke er enige i dine synspunkter, og du ikke har reele argumenter
med
> substans.

Du er for langt ude hvis du vil stemple mit indlæg som racistisk!



Claus Pedersen (21-05-2002)
Kommentar
Fra : Claus Pedersen


Dato : 21-05-02 18:50



Bertel Lund Hansen (21-05-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 21-05-02 13:53

Rasmus Kaae skrev:

>jeg troede dette var en dansk nyhedsgruppe.

Det er det skam også. Som i stort set alle andre grupper i verden
er det tilladt at skrive på et hvilket som helst sprog.

Personligt ville jeg svært nødig undvære den kompetente og
omfattende hjælp som Igor er parat til at give.

--
Bertel
http://lundhansen.dk/bertel/   FIDUSO: http://fiduso.dk/

David Rasmussen (18-05-2002)
Kommentar
Fra : David Rasmussen


Dato : 18-05-02 12:38

Rasmus Kaae wrote:
> OK, men conio.h bliver så udelukkende brugt til getch() så man kunne
> beskylde dig for at være pedant, og det vil jeg så gøre - pedant.
>

OK, så vil jeg beskylde dig for at være idiot - idiot.

Det er totalt ligegyldigt hvor meget der bruges fra en given header-fil.
I det øjeblik der bruges en ting fra en non-compliant header-fil, er
programmet aldeles ikke-portabelt.

/David


Rasmus Kaae (21-05-2002)
Kommentar
Fra : Rasmus Kaae


Dato : 21-05-02 06:25

> OK, så vil jeg beskylde dig for at være idiot - idiot.

ja, gør du det.

> Det er totalt ligegyldigt hvor meget der bruges fra en given header-fil.
> I det øjeblik der bruges en ting fra en non-compliant header-fil, er
> programmet aldeles ikke-portabelt.

ja, det har du ret i - men mon ikke pointen i den lille stump kode lå
andetsteds end i getch()/conio?



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste