× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



To do an equivalent of TESTB '3' (which tests the fourth bit from the left)
you would need to do a:

bit3ison = %BitAnd(YourField:X'10') = X'10';

where bit3ison is a named indicator field.

This compares your field with 0001 0000.

if your field has the fourth bit equal to '1', only the fourth position will
return a true '1' bit everything else will be '0' - hence a result of X'10'.

If your fourth bit is not 1 then no bits will match and the result will be
X'00'

Hope this helps!

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Barbara Morris
Sent: Friday, May 27, 2005 3:49 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: Bit Operations


"Fisher, Don" wrote:
> 
> I've read the manual and searched the archives yet still don't understand
> this.  There is a character field returned by an IBM a.p.i. that contains
> information in individual bits (bit 0 is something, bit 1 is something
else,
> and so on) so I need a method of testing specific bits of this one
character
> field.  As near as I can tell, the following code should test bit 3 in the
> field to determine if it's on:
> IF %BITAND(Field : x'F3') <> x'00'
> 

If you're counting the bits starting at 1 from left to right (or top to
bottom from the API documentation), you want to compare your field to
bits '0010 0000' which is x'20'.  If you mean what TESTB '3' means, you
want to compare your field to bits '0000 1000' = x'08'.

TESTB handles a factor 2 of '3' differently from a factor 2 of x'F3',
even though '3' and x'f3' are the same value.
   '3'   means bits '0000 1000' = x'08'
   x'F3' means bits '1111 0011' 
%BITAND behaves like the x'F3' form, but I'm guessing you want the '3'
behaviour, x'08'.


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.