  Non-von Neumann computational hardware, based on neuron-inspired, non-linear
elements connected via linear, weighted synapses -- so-called neuromorphic
systems -- is a viable computational substrate. Since neuromorphic systems have
been shown to use less power than CPUs for many applications, they are of
potential use in autonomous systems such as robots, drones, and satellites, for
which power resources are at a premium. The power used by neuromorphic systems
is approximately proportional to the number of spiking events produced by
neurons on-chip. However, typical information encoding on these chips is in the
form of firing rates that unarily encode information. That is, the number of
spikes generated by a neuron is meant to be proportional to an encoded value
used in a computation or algorithm. Unary encoding is less efficient (produces
more spikes) than binary encoding. For this reason, here we present
neuromorphic computational mechanisms for implementing binary two's complement
operations. We use the mechanisms to construct a neuromorphic, binary matrix
multiplication algorithm that may be used as a primitive for linear
differential equation integration, deep networks, and other standard
calculations. We also construct a random walk circuit and apply it in Brownian
motion simulations. We study how both algorithms scale in circuit size and
iteration time.
