Aus Deinem Beispiel im ersten Post ist nicht ersichtlich, wie Du b gedimmt hast, d. h. welcher Datentyp Du b zugewiesen hast.
Grundsätzlich kann man zwischen Ganzzahlen, das sind Zahlen ohne Nach-Kommastellen (BYTE, WORD, INTEGER, LONG) und Gleitkommazahlen , das sind eigentliche Kommazahlen (SINGLE, DOUBLE) unterscheiden.
Die verschiedenen Datentypen unterscheiden sich durch ihren Wertebereich und bei den Ganzzahlen auch noch dahin, ob sie auch negative Werte repräsentieren können. Die entsprechenden Angaben dazu findest Du in der BASCOM-Hilfe unter http://avrhelp.mcselec.com/Language_Fundamentals.html unter der Überschrift: Elementary Data Types

DOUBLE ist vielleicht für dein Projekt übers Ziel geschossen. Prüf mal, ob du mit SINGLE das Auslangen findest, das spart SRAM, FLASH und Ausführungszeit.