<?php
function base26($value) {
$value -= 1; // zero-based
$name = '';
for ($exponent = 0; pow(26, $exponent) <= $value; $exponent++) {
$digitValue = intval(pow(26, $exponent));
$remainder = $value % intval(pow(26, $exponent + 1));
$ascii = 65 + intval($remainder / $digitValue);
$name = chr($ascii) . $name;
echo sprintf("value: %d, remainder: %d\n", $value, $remainder);
$value -= $remainder;
}
return $name;
}
for ($i = 1; $i < 28; $i++) { echo $i . "->" . base26($i) . "\n"; }
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- 1->
value: 1, remainder: 1
2->B
value: 2, remainder: 2
3->C
value: 3, remainder: 3
4->D
value: 4, remainder: 4
5->E
value: 5, remainder: 5
6->F
value: 6, remainder: 6
7->G
value: 7, remainder: 7
8->H
value: 8, remainder: 8
9->I
value: 9, remainder: 9
10->J
value: 10, remainder: 10
11->K
value: 11, remainder: 11
12->L
value: 12, remainder: 12
13->M
value: 13, remainder: 13
14->N
value: 14, remainder: 14
15->O
value: 15, remainder: 15
16->P
value: 16, remainder: 16
17->Q
value: 17, remainder: 17
18->R
value: 18, remainder: 18
19->S
value: 19, remainder: 19
20->T
value: 20, remainder: 20
21->U
value: 21, remainder: 21
22->V
value: 22, remainder: 22
23->W
value: 23, remainder: 23
24->X
value: 24, remainder: 24
25->Y
value: 25, remainder: 25
26->Z
value: 26, remainder: 0
value: 26, remainder: 26
27->BA
preferences:
266.39 ms | 407 KiB | 399 Q