IDL 8.4 introduces arbitrarily large integers with the BigInteger class:

IDL> n = BigInteger(2)^400
IDL> help, n
N BIGINTEGER <ID=3 LENGTH=401 bits> = 2.582249878086...x10^120
IDL> print, n
2582249878086908589655919172003011874329705792829223512830659356540647622016
841194629645353280137831435903171972747493376

Standard arithmetic with operators such as +, *, etc. works fine and there are a few methods to perform some other common operations:

IDL> print, n->nextPrime()
2582249878086908589655919172003011874329705792829223512830659356540647622016
841194629645353280137831435903171972747493557
IDL> print, n->log2()
400