-30 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
|
|||||||||||
1 | |||||||||||
Как отобразить время с printf, но с 4-мя цифрами после запятой?11.05.2021, 20:22. Показов 1279. Ответов 6
Метки нет (Все метки)
Решаю задачу по c++, где нужно измерять скорость выполнения программы, измеряю время с помощью
time_t , вывожу с помощью printf :
Код
Elapsed time in seconds is 17, Bye!
Код
Elapsed time in seconds is 0,0000, Bye!
0
|
11.05.2021, 20:22 | |
Ответы с готовыми решениями:
6
Как сделать значение с двумя цифрами после запятой? Printf знаки после запятой Printf - число знаков после запятой Аналог printf. Увеличить количество цифр после запятой |
Вездепух
11695 / 6374 / 1724
Регистрация: 18.10.2014
Сообщений: 16,068
|
|
11.05.2021, 20:27 | 2 |
Так а почему вы вообще использовали
%d или %f ? Откуда вы взяли, что time_t вообще возможно вывести через printf ?time_t невозможно вывести через printf . Хотите выводить через printf - приводите значение к какому-нибудь типу, который возможно вывести через printf .Что за цифры после запятой? Что они должны содержать?
1
|
-30 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
|
|
11.05.2021, 20:33 [ТС] | 3 |
В самой методичке было написано
%ld , думал легко можно вывести в десятичном виде
миллисекунды, а до запятой целые секунды
0
|
Вездепух
11695 / 6374 / 1724
Регистрация: 18.10.2014
Сообщений: 16,068
|
|
11.05.2021, 20:46 | 4 |
Методичку в топку. Тем не менее: если в методичке было
%ld , то почему у вас в коде вдруг стало %d ?А кто вам сказал, что time() даст вам какие-то "миллисекунды"? Язык не говорит ничего о том, что считает time() , но обычно эта функция считает по секунде. Вы же сами в коде выше выводили секунды, то есть знаете об этом. Почему вы тогда надеетесь на какие-то "миллисекунды"? Откуда они вдруг возьмутся?
0
|
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
|
|
11.05.2021, 20:53 | 5 |
Ищи функцию, которая будет выдавать целые значения милисекунд или наносекунд. time() выдаёт целые секунды, соответственно десятых там нет изначально, уже при записывании в переменную time_t t
1
|
-30 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
|
|
11.05.2021, 20:55 [ТС] | 6 |
Просто пробовал различные варианты форматов, остановился на
%d Кстати, немного покопавшись, выяснил, что функция clock() из <ctime> возвращает время в миллисекундах
0
|
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
|
||||||
11.05.2021, 21:00 | 7 | |||||
Вот её разность дели на
1000.0f и сохраняй в переменную float. И вот тогда уже применяй
И никаких 4 цифр после запятой, а только 3. Потому что опять же выдавались только миллисекунды.
0
|
11.05.2021, 21:00 | |
11.05.2021, 21:00 | |
Помогаю со студенческими работами здесь
7
Вычисление числа Пи с 15-ю цифрами после запятой вывести число с 2 цифрами после запятой Непонятное умножение (проблема с цифрами после запятой) Вывести число с тремя цифрами после запятой Вывод n числа символов после запятой без использованиия precision и printf Вывести наименшую зарплату на предприятии с двумя цифрами после запятой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |