Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Binærtall i C

4 views
Skip to first unread message

Thore Bjerklund Karlsen

unread,
Mar 11, 1998, 3:00:00 AM3/11/98
to

Hvordan assigner man et binærtall til en variabel i C, eller er det ikke
mulig?

--
## Thore Bjerklund Karlsen ## I am just an atom in an ectoplasmic ##
## -=-=-=-=-=-=-=-=-=-=-=-=- ## sea, without direction or a reason to ##
## th...@visuality.no ## exist; The anechoic nebula rotating in ##
## home.sol.no/~tbk ## my brain is persuading me, contritely, ##
## -=-=-=-=-=-=-=-=-=-=-=-=- ## to persist. ##

Gjermund Sørseth

unread,
Mar 12, 1998, 3:00:00 AM3/12/98
to


> Hvordan assigner man et binærtall til en variabel i C, eller er det ikke
> mulig?

Det er ikke mulig, men det er ikke akkurat noen stor omvei å måtte skrive
det om til hex eller oktal. x = 0xff; eller x = 0377;

--
Gjermund Sørseth


Tor Iver Wilhelmsen

unread,
Mar 12, 1998, 3:00:00 AM3/12/98
to

On 12 Mar 1998 09:01:39 +0100, gjer...@nextel.no (Gjermund Sørseth)
uttered:

>Det er ikke mulig, men det er ikke akkurat noen stor omvei å måtte skrive
>det om til hex eller oktal. x = 0xff; eller x = 0377;

Det er allikevel litt latterlig. Mer moderne språk, som Beta, lar deg
skrive 2x10100110. Og følgelig 8x3425 for oktale. Eller mer generelt,
nx<tall> for base-n tall. Meget grei ordning. :-)

--
"Between our dreams and actions lies this world."
- Bruce Springsteen, "Dead Man Walking"
Tor Iver Wilhelmsen to...@online.no

kjetilso

unread,
Mar 24, 1998, 3:00:00 AM3/24/98
to


Gjermund Sørseth wrote:

> > Hvordan assigner man et binærtall til en variabel i C, eller er det ikke
> > mulig?
>

> Det er ikke mulig, men det er ikke akkurat noen stor omvei å måtte skrive
> det om til hex eller oktal. x = 0xff; eller x = 0377;
>

> --
> Gjermund Sørseth

I beg to differ, vi kan bruker inline assembly:
int iVar;
_asm MOV iVar,10010101b

-- Kjetil

Stig Hemmer

unread,
Mar 24, 1998, 3:00:00 AM3/24/98
to

kjetilso <kjet...@stud.idb.hist.no> writes:
> int iVar;
> _asm MOV iVar,10010101b

Og hvor portabelt er dette?

Stig Hemmer.

Bjorn Borud

unread,
Mar 30, 1998, 3:00:00 AM3/30/98
to

[Stig Hemmer <st...@pvv.ntnu.no>]

det er hverken portabelt eller særlig fantasifullt.

skal man nå likevel grise kan man jo enten lage en define som
produserer enkeltbits:

#define BIT(n) (1<<(n))

og bruke bitvis OR for å kombinere dem:

resultat = BIT(7) | BIT(5) | BIT(3) | BIT(0);

eller man kan alltids angi binærtallet som en streng og skrive en
funksjon som produserer en int ut ifra strengen.

inline int b2i (char *s) /* OBS ikke alle cc'er støtter "inline" */
{
int i,c,r;

i = c = r = 0;
for (i = (strlen(s) - 1); i >= 0; r |= (s[i--] == '1')<<c++);
return(r);
}

eller man kan simpelthen bli voksen, slutte å skrive obfuskert kode og
lage fornuftige makroer og bruke simpel boolsk algebra der man skal
fikle med bits ;-)

-Bjørn
--
Bjørn Borud <bo...@guardian.no> | "The Net interprets censorship
<URL:http://www.pvv.unit.no/~borud/> | as damage and routes around it."
UNIX person, one of "them" | - John Gilmore

0 new messages