help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: logical and ????


From: Paul Kienzle
Subject: Re: logical and ????
Date: Wed, 12 Dec 2001 10:55:20 -0500

Thanks to Kai Habel, we have bitand, bitor, etc. as
oct-files in octave-forge at http://octave.sf.net
but limited to 32 bits.

I can replace all of the bit functions with m-file
implementations using arithmetic (+,-,*,/) except 
for bitand.  If I can figure out bitand, then we
can use all the bits of the mantissa for a double
(which is 53 bits I believe).  Any suggestions?

bitxor(a,b)   : (a - bitand(a,b)) + (b - bitand(a,b))
bitor(a,b)    : (a - bitand(a,b)) + b
bitset(a,n)   : a + sum(2.^n)
bitset(a,n,0) : a - bitand(a,sum(2.^n))
bitget(a,n)   : bitand(a,2^n) != 0 
bitshift(a,k) : fix (a * 2^k)
bitcmp(a)     : (2.^bitmax - 1) - a

Paul Kienzle
address@hidden

On Tue, Dec 11, 2001 at 10:40:05PM -0600, John W. Eaton wrote:
> On 12-Dec-2001, Matthew Flax <address@hidden> wrote:
> 
> | When I  try the following I get a confusing answer :
> | 
> | octave:47> 0x4 & 0x8
> | ans = 1
> | 
> | surely that should be ans=0 ?
> 
> No.  The & and | operators work element-by-element for matrices.  Your
> 0x4 and 0x8 numbers are just scalars, so the result is 1, which tells
> you that both elements in the comparison are nonzero.  If you want
> bit-wise operations, you need some functions to do it.  The matcompat
> package may have some, but they aren't distributed as a part of Octave
> (yet).
> 
> jwe
> 
> 
> 
> -------------------------------------------------------------
> Octave is freely available under the terms of the GNU GPL.
> 
> Octave's home on the web:  http://www.octave.org
> How to fund new projects:  http://www.octave.org/funding.html
> Subscription information:  http://www.octave.org/archive.html
> -------------------------------------------------------------
> 



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]