You will obviously need to know the public IP assigned to your router in order to connect to it. But that's only half the story. You also need to forward the Remote Desktop port(s) in your router so the router knows where to send the traffic that arrives on that port (i.e., locate the remote desktop machine you're trying to reach).
You can use tools like DynDNS.com or NO-IP.com to associate a name to your dynamically assigned public IP. If you’re not familiar w/ that process, let me know and I’ll explain further.
As far as the port forwarding goes, different applications use various ports to send network traffic between endpoints. In this case Remote Desktop requires port 3389. You can find specific instructions for setting up forwarding for many routers @ PortForward.com. There are even tools there to help you verify port forwarding is working properly without having to leave your home.
TIP: I find it a bit more secure to use a something other than the default port on the public side of the router. IOW, instead of opening port 3389 on the public side, you might open port, oh say…, 9220 instead and then forward it to 3389 on the private side (within your network). That will serve to frustrate hackers who might know of vulnerabilities in the protocol and decide to start poking around port 3389 hoping to exploit it. But if you make the port something the hacker isn’t expecting, it makes it a little harder to locate.
TIP: Instead of using Remote Desktop, consider using LogMeIn Free. A very nice product. Does almost everything Remote Desktop does, but doesn’t require port forwarding, so you don’t have to leave your ports open at all! Instead, it uses a rendezvous server and NAT traversal to avoid all this nonsense w/ ports and even finding your public IP. It works great and just makes remote access much, much easier (imo).