Let $D$ be any set and define $\mathcal{P}(D)=\{A:A\subseteq D\}$ to be the power set of $D$.
For any $A,B\in\mathcal{P}(D)$, define the symmetric difference operation $$A*B=(A\setminus B)\cup (B\setminus A).$$ It is pretty easily shown that $G(D)=(\mathcal{P}(D),*)$ is an abelian group, and its identity element is the empty set $\varnothing$. I will include a proof at the end of the question.
Anyway, consider any subset $A\in\mathcal P(D)$ and observe that $$A*A=(A\setminus A)\cup (A\setminus A)=\varnothing\cup\varnothing=\varnothing.$$ Thus every element of $G(D)$ has order $2$. Because of this, when $D=\{d_1,d_2,...,d_N\}$ is finite, we can say two things.
Firstly, $G(D)$ is generated by the singleton subsets of $D$: $$G(D)=\left\{(a_1\{d_1\})*(a_2\{d_2\})*\cdots *(a_N\{d_N\}):a_i\in\Bbb Z/2\Bbb Z\right\},$$ where we define $0\{d_i\}=\varnothing$ and $1\{d_i\}=\{d_i\}$, and $(a\{d\})*(b\{d\})=(a+_2b)\{d\}$, with $+_2$ being addition modulo $2$.
Secondly, we can define an isomorphism $\phi:\mathcal P(D)\to (\Bbb Z/2\Bbb Z)^N$ by the map $$\phi:(a_1\{d_1\})*(a_2\{d_2\})*\cdots *(a_N\{d_N\})\mapsto (a_1,a_2,...,a_N).$$ This is an isomorphism because $$\begin{align} \phi\left(A*B\right)&=\phi\Big((a_1+_2b_1)\{d_1\}*\cdots*(a_N+_2b_N)\{d_N\}\Big)\\ &=\Big(a_1+_2b_1,...,a_N+_2b_N\Big)\\ &=\Big(a_1,...,a_N\Big)+\Big(b_1,...,b_N\Big)\\ &=\phi(A)+\phi(B). \end{align}$$ Here, $A=(a_1\{d_1\})*\cdots*(a_N\{d_N\})$ and $B=(b_1\{d_1\})*\cdots *(b_N\{d_N\})$.
The upshot is that $G(D)\cong (\Bbb Z/2\Bbb Z)^{|D|}$ when $D$ is finite.
My question is, what happens when $D=\Bbb Z$ or $D=\Bbb R$? Or more generally, when $D$ is not finite? Can we still decompose $G(D)$ into copies of $\Bbb Z/2\Bbb Z$?
So far, I have made little progress. If $D$ is countably infinite (in bijection with $\Bbb Z$), we can enumerate the generators $\{\{d_1\},\{d_2\},...\}$, and its clear that every finite subset of $D$ can be written as a finite combination of the generators it contains. However, I am not sure how to deal with infinite subsets of $D$, because I don't know how we can appropriately take the $*$ operation infinitely many times.
When $D$ is uncountably infinite (such as $\Bbb R$ or $\Bbb C$), I have no idea how to proceed. Any ideas?
Here is a proof that $G(D)=(\mathcal P(D), *)$ is an abelian group.
If $A,B\in\mathcal P(D)$, we have $A\setminus B, B\setminus A\in\mathcal P(D)$, so that $A*B\in\mathcal P(D)$. That is, $G(D)$ is closed under $*$.
We have that $*$ is commutative, because $$B*A=(B\setminus A)\cup (A\setminus B)=(A\setminus B)\cup (B\setminus A)= A*B.$$
The identity element is $\varnothing$ because $$A*\varnothing=(A\setminus\varnothing)\cup(\varnothing\setminus A)=A\cup\varnothing=A,$$ and every element is its own inverse as shown above.