1. A method for encoding data to be placed into a weight constrained memory array performed by a physical computing system, the method comprising: designating a set of crosspoints within a crossbar memory array as indicator crosspoints and a set of crosspoints within said memory array as data crosspoints, said set of indicator crosspoints selected so that a net number of times that each data crosspoint has been flipped can be determined from a subset of said set of indicator crosspoints; placing an input stream of data into a matrix corresponding to crosspoints within said memory array, bits of said input stream being placed into matrix elements that correspond to data crosspoints of said memory array; setting each matrix element corresponding to indicator crosspoints to a value corresponding to a fixed resistive state; and flipping each bit corresponding to a conductor of said memory array until no conductors within said memory array violate a weight constraint.