/* * File: fixed01.c * Author: kubalik * * Created on 23. brezna 2019, 19:43 */ #include "p33EV32GM002.h" #pragma config FNOSC = FRC // pracujeme s FRC oscilatorem 7.37MHz #pragma config OSCIOFNC = ON //OSC2 is general purpose digital I/O pin #pragma config IOL1WAY = ON //Allow Only One reconfiguration pro PPS #pragma config FWDTEN = OFF // WDT and SWDTEN Disabled Watchdog vypnut /* * */ void main() { signed _Fract a , b ; unsigned _Fract c ; float d, e, f; int g,h,i; d = 0.125 ; // sem si dejte breakpoint // je mozno pouzit i suffix, ktery donuti prekladac, aby s cislem pracoval jako s fractional b = -1r ; e = 0.5 ; a = 0.5r ; a = a ; b = -1.0r; b = -0.5r ; b = -0.999r; b = ( signed _Fract )(-1) * 0.9999 ; // a tohle FRUNGUJE b = ( signed _Fract )(-1) * 1.0 ; // a tohle TAKY FUNGUJE b = ( signed _Fract )(-1) ; // a tohle FUNGUJE b = ( signed _Fract )(-1) * 0.12345 ; b = b ; /* Takze ASi zaver: * neumi to pretypovat zaporna cisla float * UMI to pretypovat kladna fload v rozsahu < 0; 1 ) * UMI to pretypovat integer -1 * NEUMI to pretypovat float -1.0 * * TAKZE pretypovani radeji nepouzivejte !!!!!! * */ e = -0.5 ; // a pri pokusu o pretypovani zaporneho cisla se to hrouti a = (_Fract) e ; // tady je vysledek 0 -NEFUNGUJE c = (_Fract) e ; a = a ; while(1) { // sem napiseme to, co se v programu dela porad dokolecka asm(" nop " ); asm(" nop " ); asm(" nop " ); asm(" nop " ); } }