fork download
  1. struct TimeSpan {
  2. long ticks;
  3. const int TicksPerSecond = 10000000;
  4. const int TicksPerMillisecond = 10000;
  5.  
  6. public double TotalMilliseconds {
  7. get {
  8. return ticks / (double)TicksPerMillisecond;
  9. }
  10. }
  11.  
  12. static void Main()
  13. {
  14. TimeSpan foo, bar;
  15.  
  16. // this value uses 30 bits
  17. foo.ticks = 1000000000L;
  18. bar.ticks = foo.ticks + 10;
  19. System.Console.WriteLine("Delta: {0:0.0000}ms", bar.TotalMilliseconds - foo.TotalMilliseconds);
  20.  
  21. // this value uses 50 bits
  22. foo.ticks = 1000000000000000L;
  23. bar.ticks = foo.ticks + 10;
  24. System.Console.WriteLine("Delta: {0:0.0000}ms", bar.TotalMilliseconds - foo.TotalMilliseconds);
  25.  
  26. // this value uses 60 bits
  27. foo.ticks = 1000000000000000000L;
  28. bar.ticks = foo.ticks + 10;
  29. System.Console.WriteLine("Delta: {0:0.0000}ms", bar.TotalMilliseconds - foo.TotalMilliseconds);
  30. }
  31. }
Success #stdin #stdout 0.03s 37016KB
stdin
Standard input is empty
stdout
Delta: 0.0010ms
Delta: 0.0010ms
Delta: 0.0000ms