## Bases and digital circuits

2022-03-17T02:44:53.030505

### Another post in the "trying to keep my DSP memory fresh" series.

- logarthmic base 2; binary digits; bits - a device with two stable positions (relay or flip/flop) can store one bit of information. N such devices can store N bits.
- logarthmic base 10; decimal digits - 1 decimal digit is about 3 1/3 bits; a device with 10 stable positions stores one decimal digit.
- logarthimic base e; natural units - useful for integration and differentiation
- change from base a to base b requires multiplying by log (base b) a
- the entropy for a signal character message using the alphabet (a-z) is = log base 2 * 26 = 4.7

digital circuits

```
fn half_adder(x: bool, y: bool) -> (bool,bool) {
let sum = x&y;
let carry = x^y;
(sum, carry)
}
```

```
fn full_adder(x: bool, y: bool, c: bool) -> (bool, bool) {
let (a, b) = half_adder(x, y);
let (j, k) = half_adder(b, c);
let sum = a || j;
let carry = k;
(sum,carry)
}
```

```
fn bitwise_addition(x: u8, y: u8) -> u8 {
if y == 0 { x } else { add(x^y, (x&y) << 1 ) }
}
```