# What is the process involved in converting an array of integers into a matrix of binary values?

I came across this code in some online platform somewhere, then copied and pasted it a while back in VSCode, and though it works fine, I couldn’t decipher what the code is doing exactly, it doesn’t even have proper comments so I’m having a hard time. Pasting the code below:

Can anyone please help me out? Also, you can provide a simpler and more efficient code than this and explain the actual concept of how that code works.
1 Like

Hello @safiaa.02, the code you pasted seems to be a technique used in coding where you convert an integer array or data structure into a boolean array containing 0s and 1s. The code does seem messy and I have provided an alternate method below with an explanation for doing the same thing, I hope it helps.

• The code uses the `np.bitwise_and()` function to apply bitwise AND to each element of the integer array and the mask to determine which columns must be set to `1`.
• The resulting binary matrix has a shape of `(4, 1, 4)`, where each row is a 2D array with a single row and `4` columns. Therefore, `np.reshape(-1, 4)` is used which flattens the binary matrix to a 2D array with `4` columns and a number of rows that is automatically calculated based on the original shape.