Permítanme poner juntos todos en una respuesta.
Definir $h(x):=g(x)+if(x)$. A continuación, $(\star)$ es equivalente a $$h(x+y)=h(x)h(y).$$
Si $h(x)=0$ algunos $x$ $h$ es idéntica a cero. Suponga que $h$ nunca se desvanece.
Deje $\{a_i\}_{i\in I}$ ser una base de Hamel $\mathbb{R}$ $\mathbb{Q}$- espacio vectorial.
Poner $b_i:=h(a_i)$ y definen $\hat{h}(x):=e^{r(x)}$ donde $r(x)$ es la única función de lo determinado por $r(x+y)=r(x)+r(y)$, e $r(a_i)=c_i$ donde $c_i$ es un número tal que $e^{c_i}=b_i$, y en la secuela de la que no voy a usar nada más allá de esto).
A continuación, $u(x):=h(x)/\hat{h}(x)$ satisface $u(x+y)=u(x)u(y)$, e $u(0)=1$.
Si $x=\sum\frac{p_i}{q_i}a_i$,$(p_i,q_i)=1$,$u(x)^{\prod q_i}=\prod u(\frac{p_i}{q_i}a_i)^{\prod q_i}=1$. La última igualdad es porque $u(\frac{p_i}{q_i}a_i)^{q_i}=u(p_ia_i)=u(a_i)^{p_i}=1$
A continuación, $u$ es un personaje (grupo homomorphism de $\mathbb{R}$ a la unidad de círculo).
Converselly, para cada $r$ tal que $r(x+y)=r(x)+r(y)$ y un carácter $u$ $\mathbb{R}$ obtenemos $h(x):=e^{r(x)}u(x)$, que satisface $h(x+y)=h(x)h(y)$. Esto nos da $$f(x):=\text{Im}(h(x))$$ and $$g(x):=\text{Re}(h(x)).$$
Ahora, para finalizar, tenemos que 'calcular' todos los personajes de la aditivo grupo $\mathbb{R}$.
Observe que cada una de las $\frac{p}{q}\mapsto u(\frac{p}{q}a_i)$ es un personaje de la aditivo grupo $\mathbb{Q}$. Y por el contrario, si $u_i$ son personajes de $\mathbb{Q}$ $$u(x)=u\left(\sum\frac{p_i}{q_i}a_i\right):=\prod u_i\left(\frac{p_i}{q_i}\right)$$ satisfies $u(x+y)=u(x)u(y)$, and $u(0)=1$.
Así, lo que necesitamos es 'calcular' todos los personajes de $\mathbb{Q}$. Esto se puede leer aquí, por ejemplo.
Aviso que el de arriba nos da una manera de producir todas las soluciones de $h$, pero no es la única escritura de ellos. Si tenemos dos $\hat{h}$s de que el cociente es un personaje de $\mathbb{R}$, entonces podemos obtener el mismo $h$ de ellos dividiendo por este personaje.