IPv6 officially keeps the last 64 bits for the "host" part of the address, which means that unless you are abusing the protocol, each subnet gets at least 2^64 addresses. Current "best practice" is for consumer ISPs to give each end-user at least a /48, that is 2^16 = 65,536 possible subnets' worth or 2^80 total address. Your mileage is going to vary depending on your ISP though.
Edit: looks like the RFC has been updated to recommend smaller allocations where appropriate. Still keeps /64 as the smallest allowed subnet though. https://tools.ietf.org/html/rfc6177#page-4
Edit2: fixed devices -> subnets.