Преобразуйте миллисекунды в секунды в C

Добавьте пространство плюс название Вашего нового класса к className свойство элемента. Во-первых, поместите id на элемент, таким образом, можно легко получить ссылку.

Затем

var d = document.getElementById("div1");
d.className += " otherclass";

См. также element.className на MDN.

5
задан leeeroy 18 August 2009 в 16:20
поделиться

3 ответа

Это должно работать

int sec = ((msec + 500) / 1000);
26
ответ дан 18 December 2019 в 05:29
поделиться

Сначала я не хотел писать этот ответ после тестирования на x86, но тестирование на sparc Solaris показало, что он дает прирост производительности по сравнению с "очевидным решением", так что, возможно, это было бы кому-то полезно. Я взял его из PDF-файла , который прилагается к книге Hacker's Delight . Вот оно:

unsigned msec2sec(unsigned n) {
  unsigned q, r, t;
  n = n + 500;
  t = (n >> 7) + (n >> 8) + (n >> 12);
  q = (n >> 1) + t + (n >> 15) + (t >> 11) + (t >> 14);
  q = q >> 9;
  r = n - q*1000;
  return q + ((r + 24) >> 10);
}

в отличие от:

unsigned msec2sec_obvious(unsigned n) {
  return (n + 500)/1000;
}

На x86 «очевидный алгоритм» преобразуется в добавление 500, а затем долгое умножение на 274877907 с последующим захватом 32 наиболее значимых битов из edx и их сдвигом на 6 бит вправо - поэтому он превосходит этот код выше (разница в производительности ~ 5 раз).

Однако в Solaris / sparc «очевидное» преобразуется в вызов .udiv, что в итоге дает разницу в производительности ~ 2.

4
ответ дан 18 December 2019 в 05:29
поделиться
int seconds = msec / 1000;
if (msec % 1000 > 500)
    seconds++;
5
ответ дан 18 December 2019 в 05:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: