summaryrefslogtreecommitdiff
path: root/go/binary/binary.go
blob: 1a02992ce3a9a579d47aca99e4fca1c1bf24e5ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package binary

import "errors"

func ParseBinary(s string) (int, error) {
	var n int
	for i, r := range s {
		switch r {
		case '0':
		case '1':
			n |= 1 << uint(len(s)-i-1)
		default:
			return 0, errors.New("invalid char")
		}
	}
	return n, nil
}