Sari la conținut
ELFORUM - Forumul electronistilor

long int in PICC de la Hi-tech


lama

Postări Recomandate

SalutPana acum m-am descurcat cu int si char.Azi am nevoie de un long intsi surpriza nu vrea sa mi-l initializeze log( mi-l face unsigned int)Am citit manualul care zice sa adaug si si nimicLong-ul meu e unsigned int.A mai patit cineva asa ceva?

Link spre comentariu
  • Răspunsuri 6
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • lama

    4

  • Liviu M

    3

Zile populare

Top autori în acest subiect

Cred ca trebuie sa umbli (in MPLAB) pe la setarile proiectului, sectiunea compiler/linker (nu stiu exact unde sunt si n-am nici un MPLAB la dispozitie) si sa alegi lungimea datelor. Din cate stiu eu, double e implicit pe 24 de biti si probabil nici long-ul nu trece de astia.

O alta varianta, daca nu-ti trebuie chiar 32 de biti, e sa folosesti short long (vezi si fisierul ala limits.h):

 

#define	SHRTLONG_MAX	8388607			/* max value of short long */#define	SHRTLONG_MIN	(short long)-8388608	/* min value of a short long */

LE In manualul de la versiunea 9.82 nu exista tipul de data long int.

Link spre comentariu

Greseala era a mea. Era long da il inmultesc cu un intreg si in loc sa il lase long vad ca il face int.

Tare faza.

S-a rezolvat cu un cast dar incepusem ca cred ca nu stiu ANSI C.

Link spre comentariu

Rezultatul incape cumva in 16 biti (adica ai inmultit un long mic cu un int mic)? Ca daca da, sunt sanse sa fie un efect al optimizarilor compilerului. Daca nu, n-am idee.

Link spre comentariu

Rezultatul incape cumva in 16 biti (adica ai inmultit un long mic cu un int mic)? Ca daca da, sunt sanse sa fie un efect al optimizarilor compilerului. Daca nu, n-am idee.

Mai mult ca sigur ca e optimizatorul.Ajunge el la concluzia ca asa e bine.Noroc cu cast-ul ca il aduce pe calea cea buna.
Link spre comentariu

Cred ca poti face un test - fa o adunare cu ceva mai mare de unsigned int (65535 parca) si vezi ce zice.

Inmultire de doi unsigned int cu rezultatul pus intr-un long.La final pare ca il duce la unsigned int.In C era functia ctype dar vad ca aici nu e implementat.Deci optimizatorul .....
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări