<p>We present a new algorithm for conversion between binary code and binary-reflected Gray code that requires approximately $<tmath>\scriptstyle{2K \over 3}</tmath>$ element transfers in sequence for <it>K</it> elements per node, compared to <it>K</it> element transfers for previously known algorithms. For a binary cube of $<tmath>n = 2</tmath>$ dimensions the new algorithm degenerates to yield a complexity of $<tmath>{K \over 2} + 1</tmath>$ element transfers, which is optimal. The new algorithm is optimal to within a multiplicative factor of $<tmath>\scriptstyle{4\over 3}</tmath>$ with respect to the best known lower bound for any routing strategy. We show that the minimum number of element transfers for minimum path length routing is $<tmath>{K}</tmath>$ with concurrent communication on all channels of every node of a binary cube.</p>