8. There are three segments of length $2^{n}(n=0,1, \cdots, 1009)$. Then the number of non-congruent triangles that can be formed by these 3030 segments is (answer in digits).
8. 510555 .
(1) If $0 \leqslant i < j \leqslant 1009$, then $2^{i} + 2^{j} > 2^{j}, 2^{j} + 2^{j} > 2^{i}$.
Therefore, $2^{i}, 2^{j}, 2^{j}$ must form a triangle.
(4) If $0 \leqslant k \leqslant 1009$, then $2^{k}, 2^{k}, 2^{k}$ must form an equilateral triangle.

Combining (1) ~ (4), we know that the triangles that can be formed can only be $2^{i}, 2^{j}, 2^{j} (i < j)$ or equilateral triangles, totaling
$$
C_{1010}^{2} + 1010 = 510555 \text{ (triangles). }
$$