Вы делаете целочисленное деление, поэтому, если результат равен 0,000639, он будет усечен до 0.
Если вы хотите получить результат с плавающей запятой, вам придется использовать хотя бы один метод с плавающей запятой.точечный операнд.Попробуйте, например, изменить (unsigned long long) 1000000
на 1000000.0
.
Длинная длина без знака может составлять до 18 446 744 073 709 551 615.A double
может достигать 1.7E308 (т. Е. Один с 308 нулями).Уловка в том, что чем выше значение, тем меньше точность, поэтому вам нужно спросить себя, действительно ли большие значения должны быть такими точными или важнее, какое значение имеет число.