Программу пишу в Code Vision
Программу пишу в Code Vision
only pure true norwegian blackx 
+ !!pyzhman писал(а):Если нужно сохранить именно 60000000000, о чем говорит ТС, то достаточно битовой переменной. Бит взведен - число есть, бит сброшен - там ноль.
А как Вы эту частоту храните в памяти после вычисления ? Узнав это, уже и будут советы по сохранению её в еепром.60000000000 это максимальная частота в герцах три последних разряда это дробная часть герца
В том то и проблема, что эта частота результат вычислений и пока результат не превышает 4 байта (гдето 4 с чемто мегагерца ) то все нормально, программа работает правильно. Когда переполняется регистр памяти (4 байта) то на дисплей уже сунет какой то бред. Регистр начинает заполнятся по второму кругу.Аlex писал(а):А как Вы эту частоту храните в памяти после вычисления ? Узнав это, уже и будут советы по сохранению её в еепром.60000000000 это максимальная частота в герцах три последних разряда это дробная часть герца
Ваши вычисления нам неизвестны, трудно что-то посоветовать.Если есть идеи как разделить дробную часть и целые, пишите, буду благодарен за любой совет
Угу, с 11-12 значащими разрядами. Записать то можно, но вот вопрос, что больше, 60000000.000 или 60000000.001 может поставить в тупик вашу программу. Кстати, типичная ошибка начинающего программиста, потеря точности при расчётах с плавающей арифметикой.mehanik_all писал(а): Можно так и записать: 60000000.000
Это как ?mehanik_all писал(а): В нём 64-битные переменные double воспринимаются как 32-битные. Так что придётся разбивать на две части.
Что как? Тип double в Си/С++ это 8 байт.Cheba писал(а):Это как ?