/ Forside/ Teknologi / Udvikling / C/C++ / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
variabel som binært tal
Fra : krogh
Vist : 438 gange
100 point
Dato : 14-05-02 11: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

 
 
Kommentar
Fra : PARKENSS


Dato : 14-05-02 12:58

Hej

Prøv lige at uddybe dit Spørgsmål lidt nærmere ???

Mvh
Parkenss









Kommentar
Fra : Nyhedsbruger


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





Kommentar
Fra : Nyhedsbruger


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


Accepteret svar
Fra : Nyhedsbruger

Modtaget 110 point
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


Kommentar
Fra : Nyhedsbruger


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.

Kommentar
Fra : Nyhedsbruger


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

Kommentar
Fra : Nyhedsbruger


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




Kommentar
Fra : Nyhedsbruger


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;
}




Godkendelse af svar
Fra : krogh


Dato : 16-05-02 12: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
                        

Kommentar
Fra : Nyhedsbruger


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.

Kommentar
Fra : Nyhedsbruger


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.



Kommentar
Fra : Nyhedsbruger


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

Kommentar
Fra : Nyhedsbruger


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).

Kommentar
Fra : Nyhedsbruger


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.




Kommentar
Fra : Nyhedsbruger


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/

Kommentar
Fra : Nyhedsbruger


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


Kommentar
Fra : Nyhedsbruger


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



Kommentar
Fra : Nyhedsbruger


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?



Kommentar
Fra : Nyhedsbruger


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

Kommentar
Fra : Nyhedsbruger


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.



Kommentar
Fra : Nyhedsbruger


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



Kommentar
Fra : Nyhedsbruger


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/

Kommentar
Fra : Nyhedsbruger


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!



Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407841
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste