delphi的按位运算符有关问题

delphi的按位运算符问题
DWORD ShowFileSize(DWORD dwFileSizeHigh, DWORD dwFileSizeLow)
{
  ULONGLONG liFileSize;
  liFileSize = dwFileSizeHigh;
  //移动到 32 位
  liFileSize <<= SizeOf(DWORD) * 8
  liFileSize += dwFileSizeLow;
  return liFileSize;
}

问三个问题
1.ULONGLONG是否相当于Delphi的LARGE_INTEGER? Delphi下是否有64位的无符号整数类型?
2. liFileSize <<= SizeOf(DWORD) * 8 翻译成 liFileSize := liFileSize shl SizeOf(DWORD) * 8; 是否正确? 
  <<= 是等于shr 还是shl? 
3.假如delphi的无符号64位整数,用IntToStr是否可以顺利转化为字符串?

谢谢~~

------解决方案--------------------
1 没有 int64是64位有符号整数
2 c不熟,感觉是对的
3 因为没有所以无所谓假如 vartostr
------解决方案--------------------
1. int64
2. 左移 shl 右移 shr
3. 可以
------解决方案--------------------
1.ulonglong是64位无符号的,D中是int64有符号64位的,从ulonglong转int64别担心,不会越界的
2.<<是左移,D的左移是shl,应该是对的
3.可以.IntToStr支持Int64