Distributed codes are necessary and the basis of brain function. This is pretty much a universal belief in neuroscience, (no grandmother cell encodings). If you don’t make your code sparse (mostly zeroes), as in many ANNs, then scalar synapses and scalar cell activation are essential. They are the only way to distinguish between codes.

If your codes are sparse (SDRs), as observed in the brain, then scalar synapses and scalar cell activation are not essential and don’t add much. The power of the encoding is its distributed code. From an emulation and mathematical analysis point of view, binary synapses are far easier too.

Another thing to consider is that biological synapses are unreliable, stochastic. The number of transmitter vesicles released upon an incoming action potential varies dramatically, spike to spike. This tells you biological networks cannot rely on even a few bits of precision in a synapse. Many ANNs require great precision in their synapses, including being able to go negative, both are not possible in biology. With an SDR, some percent of the synapses could not function at any moment in time and the system will keep working just fine.

So we could add scalar synapses, but it would add very little and we would have to assume that they are largely stochastic.