|
| 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 |
| | |
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?
| |
|
|