waneer ik als String 5Wi invoer, krijg ik als verwacht 21248
voer ik 1Sq in krijg ik 5631.
dit verschil per waarde, maar kan er maar geen oorzaak achter vinden.
waarom is hij af en toe 1 waarde te laag ?
zie onderstaand
voer ik 1Sq in krijg ik 5631.
dit verschil per waarde, maar kan er maar geen oorzaak achter vinden.
waarom is hij af en toe 1 waarde te laag ?
zie onderstaand
Arduino:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| uint32_t FromBase62(String value){ if(value.equals("0")||value.equals("1")||value.equals("2")||value.equals("3")||value.equals("4")||value.equals("5")||value.equals("6")||value.equals("7")||value.equals("9")||value.equals("9")){return value.toInt();} char base62[62] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' }; uint32_t result=0; uint8_t i=0; uint8_t ex=0; uint8_t j=0; do { for ( i = value.length() + 1; i > 0; i--) { for ( j = 0; j < 62; j++) { if (base62[j] == value.charAt(value.length() - i)) { ex = i - 1; result += (j * pow(62, ex)); } } } } while (i > 0); return result+1; } |
Ben niet slim, maar wel dom