## Boolean Algebra Toolbox , ver. 2.2

Version 1.0.0.0 (5.96 KB) by
Generate nbc and gray code, boolean evaluation and display truth-table. The "bool"-class for conveni

Updated Tue, 03 Dec 2002 09:35:05 +0000

Boolean Algebra Toolbox is a small set of functions for easy generation of boolean nbc and gray sequences for sets of boolean variables.
[X1 X2...]=NBC(N) will generate a table of Natural Binary Code where the output is a set of bool-objects.
[X1 X2 X3]=NBC(3) yields:

» [x1 x2 x3]=nbc(3)

x1 =

0101 0101

x2 =

0011 0011

x3 =

0000 1111

and BGRAY(3) yields:

» [x1 x2 x3]=grayc(3)

x1 =

0110 0110

x2 =

0011 1100

x3 =

0000 1111

The constructor for the bool-class works as this:

» x=bool([1 inf 0 -1 0 nan])

x =

1101 01

of course, the constructor can also have a bool object as an argument.

B2H(X) is a function which converts a binary vector to hex string (length(X)=2^n is required).

The operators used are
+ : or
| : or
* : and
& : and
~ : not
' : not
/ : xor

you can use inequalities as well:
< > <= >= == ~=

some functions used by the bool class:

b2d : "bool" to decimal
b2h : "bool" to hex
display : display object
double : convert to double array
flip : flip the entire boolean object string
flip4 : flips the overall nibble position
flip4i : flips the bit positions for each nibble
flip8 : same as flip4 but for bytes
flip8i : same as flip4i but for bytes
horzcat : bit string concatenation, works with mixed objects (as [0 x1 1 nan x2])
length : length of the bit-string/bool-object
size : size of object in bits, nibbles, bytes, words, etc... depending on structure.
subsasgn : assign with indicies
subsref : pick out bits from the object string with indicies (subscripted reference).

Last but not least, the truth-table function which displays the truth-table for a boolean function with its set of variables. For instance:

» [x1 x2 x3]=nbc(3);
» func=x1'*x2+x3'/x1+x1*x2'*x3;
» btab(func,x1,x2,x3)

+-------------+----------+
| x1 x2 x3 | func(*) |
+-------------+----------+
| 0 0 0 | 1 |
| 1 0 0 | 0 |
| 0 1 0 | 1 |
| 1 1 0 | 0 |
| 0 0 1 | 0 |
| 1 0 1 | 1 |
| 0 1 1 | 1 |
| 1 1 1 | 1 |
+-------------+----------+

»

I know that there might be some strange stuff goin on with the order (little/big endian a.s.o.), which is one of the reasons I implemented the flip-functions.
Please mail me for suggestions of if you encounter any problems!

More toolboxes can be found at:

http://www.etek.chalmers.se/~e8rasmus/eng/matlab_programs.html

### Cite As

Rasmus Anthin (2023). Boolean Algebra Toolbox , ver. 2.2 (https://www.mathworks.com/matlabcentral/fileexchange/2787-boolean-algebra-toolbox-ver-2-2), MATLAB Central File Exchange. Retrieved .

##### MATLAB Release Compatibility
Created with R10
Compatible with any release
##### Platform Compatibility
Windows macOS Linux

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0

I improved the toolbox a lot since the last "base" version. I have made a BOOL class with which you can do easy boolean arithmetics and other stuff.