내 제목은별로 도움이되지 않을 수 있습니다, 나는 std :: chrono :: nanosecond,하지만 serialise하고 두 번째, 그리고 다른 값으로 nanosecond를 제공하도록 요청합니다 JSON에서.std :: chrono 다른 비율의 차이를 계산하십시오
그래서 내 구조체는 보유하고 있지만 :
struct time
{
...
std::chrono::nanoseconds timepoint;
};
(만 나는 아직
uint32_t sec() const
{
return std::chrono::duration_cast<std::chrono::seconds>(timepoint_).count();
}
을 나노초에 대해 물었을 때, 나는 나노초의 해상도를 원하는 초를 요구하지만, 초없는 경우 최하위 값은?) 그러나 나노초 단위의 캐스팅은 초와 더 높은 해상도를 반환합니다.
uint64_t nanosec() const
{
return std::chrono::duration_cast<std::chrono::nanoseconds>(timepoint_).count();
}
실제 증가 된 해상도 (예 : 실제 초가없는 나노초)는 어떻게 계산할 수 있습니까?
auto sec = std::chrono::duration_cast<std::chrono::seconds>(tp);
auto nsec = std::chrono::duration_cast<std::chrono::nanoseconds>(tp);
auto diff = std::chrono::duration_cast<std::chrono::nanoseconds>(nsec - sec).count();
은 초없이 나노초 해상도를 잎 :
먼저 초 타임 포인트 ('.count() '를 호출하기 전에 캐스트 결과)를 취한 다음 실제 시간 지점에서 빼십시오. 결과 시간대에는 "남은 시간"나노초 만 있어야합니다. – Xarn
10 억으로 충분합니까? – DeathTails
@Xarn 약간 혼란 스럽네요, 예를 들어 주시겠습니까? –