Является ли поведение std :: chrono :: round on an-range значения, как предполагалось?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Является ли поведение std :: chrono :: round on an-range значения, как предполагалось?

Сообщение Anonymous »

В настоящее время я окружу std :: chrono :: duration to std :: chrono :: duration , и когда я даю ему значения вне диапазона, он окружает до 1s вместо 4294967295S . />

Код: Выделить всё

template 
constexpr ToDuration round(const duration& d);
тки... [...] < /p>
< /blockquote>
Вот мой точный код: < /p>

Код: Выделить всё

#include 
#include 
#include 
#include 

int main()
{
std::chrono::duration seconds{std::numeric_limits::max()};
printf("float:    %f\n", seconds.count());
printf("uint32_t: %u\n", std::chrono::round(seconds).count());
printf(" int32_t: %d\n", std::chrono::round(seconds).count());
printf("uint64_t: %lu\n", std::chrono::round(seconds).count());
printf(" int64_t: %ld\n", std::chrono::round(seconds).count());
}
< /code>
, который выводит < /p>
float:    340282346638528859811704183484516925440.000000
uint32_t: 1
int32_t: -2147483647
uint64_t: 9223372036854775809
int64_t: -9223372036854775807
< /code>
Как вы можете видеть, другие типы целочисленных целого числа также ведут себя странно. В отличие от std :: lround 
et al., Std :: chrono :: round ничего не говорит о том, чтобы быть не определенным, если ввод с плавающей точкой выходит за пределы диапазона. x86_64, но я сначала заметил проблему в системе ARMV7, используя GCC .)


Подробнее здесь: https://stackoverflow.com/questions/779 ... s-intended
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как использовать CSS round() в SCSS, в котором тоже есть round?
    Anonymous » » в форуме CSS
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как использовать CSS round() в SCSS, в котором тоже есть round?
    Anonymous » » в форуме CSS
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Как использовать CSS round() в SCSS, в котором тоже есть round?
    Anonymous » » в форуме CSS
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Libfmt 9.1: формат `chrono :: time_point ` как UTC
    Anonymous » » в форуме C++
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Libfmt 9.1: формат `chrono :: time_point ` как UTC
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»