Think about Loose Coupling PerlMonks

### Re: Re: Bit by a Hex String

by abitkin (Monk)
 on Aug 29, 2003 at 15:29 UTC ( #287711=note: print w/replies, xml ) Need Help??

in reply to Re: Bit by a Hex String
in thread Bit by a Hex String

Okay, first I need to say, I love your BC solution. It's simple, and elegant. That being said I did some playing around with BigInt, so here's the code I came up with:
```sub shift_bs{
\$add = shift;
\$source = shift;
\$num1=Math::BigInt->new("0x".\$source);
\$num1->blsft(1);
\$num1+=\$add;
\$temp = \$num1->as_hex();
\$temp =~ /0x(.*)/;
return \$1;
}
[download]```
Yeah, the \$add is a legacy thing, but that's okay. I want to thank you especially, because you went to quite a bit of work to come up with that code.
==
Kwyjibo. A big, dumb, balding North American ape. With no chin.

Replies are listed 'Best First'.
Re: Bit by a Hex String
by Abigail-II (Bishop) on Aug 29, 2003 at 15:45 UTC
```\$num1=Math::BigInt->new("0x".\$source);
[download]```

Ah, I didn't know you could do that. The Math::BigInt manual page says:

```       Input
Input values to these routines may be either Math::Big-
Int objects or strings of the form
"/^[+-]?[\d]+\.?[\d]*E?[+-]?[\d]*\$/".
[download]```

Abigail

Neither did I

I only tried it after seeing this in the documentation:

```Examples for converting:

my \$x = Math::BigInt->new('0b1'.'01' x 123);
print "bin: ",\$x->as_bin()," hex:",\$x->as_hex()," dec: ",\$x,"\n";
[download]```

==
Kwyjibo. A big, dumb, balding North American ape. With no chin.

Log In?
 Username: Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://287711]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2020-05-25 11:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
If programming languages were movie genres, Perl would be:

Results (145 votes). Check out past polls.

Notices?