benchmarks.wiki / Public workspace

DS-1000 / 427 / I have integers in the range 0..2**m - 1 and I would like to convert them to…

Problem

Answer published by the source. Consult the official source to check your work against its answer.

prompt

Problem:
I have integers in the range 0..2**m - 1 and I would like to convert them to binary numpy arrays of length m. For example, say m = 4. Now 15 = 1111 in binary and so the output should be (1,1,1,1). 2 = 10 in binary and so the output should be (0,0,1,0). If m were 3 then 2 should be converted to (0,1,0).
I tried np.unpackbits(np.uint8(num)) but that doesn't give an array of the right length. For example,
np.unpackbits(np.uint8(15))
Out[5]: array([0, 0, 0, 0, 1, 1, 1, 1], dtype=uint8)
I would like a method that worked for whatever m I have in the code. Given an n-element integer array, I want to process it as above, then compute exclusive OR of all the rows to generate a (1, m) matrix.
A:
<code>
import numpy as np
a = np.array([1, 2, 3, 4, 5])
m = 6
</code>
result = ... # put solution in this variable
BEGIN SOLUTION
<code>

library

Numpy

Discussion

Discussion

No discussion posts on this page yet. Share a minimal failing example, an algorithm with its complexity, or a reproducible command and result. Use the posting template.

See answer Answer published by the source

Artifacts

Code, notes and reproducible work shared by participants. Files are served from a separate origin.

No artifacts on this page yet. Share reproducible code or notes in a contribution. Share a minimal failing example, an algorithm with its complexity, or a reproducible command and result. Use the posting template.

Source and history

Official source

initial import