title: Would it be okay if I use an uint64_t type number in the millis function?
body: <p>I am using attiny microcontroller and atmel studio. And I am using the <code>millis</code> function in my project.</p>
  <p>Code related to the millis function:</p>
  <p><img src="https://i.stack.imgur.com/ffq18.png" alt="Image is here" /></p>
  <p>And I am using this classic code:</p>
  <pre class="lang-c prettyprint-override"><code>
  starttimex = millis();
  endtimex = starttimex;
      
  while ((endtimex - starttimex)&lt;=60000)
  {
                 
      endtimex = millis();
                          
      // Action
                           
  }
  </code></pre>
  <p>I don't want the <code>millis()</code> function to reset after 50 days.
  I have to use <code>uint64_t</code> instead of <code>unsigned long</code>.</p>
  <p>My questions:</p>
  <ol>
  <li><p>Does this cause any trouble? Does this situation have a disadvantage? One of the disadvantages is memory size. I know this. But, I don't know other disadvantage.</p>
  </li>
  <li><p>I don't understand variable of <code>timer0_overflow_count</code> in the image. Is there a need for this for <code>millis</code>?</p>
  </li>
  <li><p>Should I do <code>uint64_t</code> for <strong>all</strong> of the <code>unsigned long</code> variables in the image?</p>
  </li>
  </ol>
  <p>Thanks</p>