From: "Smark" <nobody@home.com>
Subject: Re: Binary value
Date: Fri, 30 Mar 2001 14:32:50 -0600
Date: 2001-03-30T14:32:50-06:00 [thread overview]
Message-ID: <9a2qhh$jee4@cui1.lmms.lmco.com> (raw)
In-Reply-To: K84x6.4066$MZ2.743519@news2-win.server.ntlworld.com
"chris.danx" <chris.danx@ntlworld.com> wrote in message
news:K84x6.4066$MZ2.743519@news2-win.server.ntlworld.com...
> > I see... that answers half of my question. This presumes I wanna convert
> > from binary to Integer. But is it possible to "convert" a Integer value to
> > binary.
>
> Suppose you have the value 123 in binary. To convert to binary you need to
> follow this algorithm.
>
> while num /= 0 loop
> rem := num mod 2; -- get remainder
> num := num - rem;
> add rem'image to front* of string;
> end loop;
>
> {I think this is the correct algorithm!}
Well, Chris, you would probably change your mind if you tried it!
As in your example, say you start with 123.
First pass through loop:
rem := 123 mod 2 ( = 1)
num := 123 - 1 ( = 122)
add "1" to front of string -- so the string now looks like "1"
Second pass:
rem := 122 mod 2 ( = 0)
num := 122 - 0 ( = 122)
add "0" to front of string -- so the string now looks like "01"
Third pass:
rem := 122 mod 2 ( = 0)
num := 122 - 0 ( = 122)
add "0" to front of string -- so the string now looks like "001"
Beginning to see a problem here?
I think the algorithm you were trying to think of goes something like:
Rem := Num;
Exp := 31;
Index := 1;
while Exp >= 0 loop
Check := 2 ** Exp;
if Rem >= Check then
Bit_String(Index) := '1';
else
Bit_String(Index) := '0';
end if;
Rem := Rem - Check;
Exp := Exp - 1;
Index := Index + 1;
end loop;
However, there are much easier ways. You should take a look at the
facilities provided in Text_Io, as Marin mentioned. Also, if you
want to do something with the bits other than display them, you could
do an unchecked_conversion to a packed bit array of the same size as
the number.
Regards,
Mark
Arlington, Texas
next prev parent reply other threads:[~2001-03-30 20:32 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-03-30 16:10 Binary value Bob Gratton
2001-03-30 16:54 ` Marin David Condic
2001-03-30 17:16 ` Bob Gratton
2001-03-30 17:41 ` Marin David Condic
2001-03-30 18:20 ` Bob Gratton
2001-03-30 19:58 ` Marin David Condic
2001-03-30 18:21 ` chris.danx
2001-03-30 20:03 ` Marin David Condic
2001-03-30 20:32 ` Smark [this message]
2001-03-30 20:45 ` Smark
2001-03-30 21:19 ` chris.danx
2001-03-31 5:23 ` Phaedrus
[not found] ` <3AC5C72F.8108A613@earthlink.net>
2001-04-01 19:52 ` Phaedrus
2001-04-01 22:04 ` Robert A Duff
2001-04-01 22:35 ` David C. Hoos, Sr.
2001-04-02 12:49 ` Marc A. Criley
2001-04-02 13:33 ` chris.danx
2001-04-02 14:33 ` Marin David Condic
2001-04-02 16:43 ` Jeffrey Carter
2001-04-02 17:36 ` chris.danx
2001-04-02 18:03 ` Robert A Duff
2001-04-02 17:54 ` Robert A Duff
2001-03-30 17:03 ` Larry Hazel
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox