konwersja typów

Komputer wraz z oprogramowaniem wspomagającym projektowanie stał się częścią życia elektronika.
dawid
Raczkujący użytkownik 1
Raczkujący użytkownik 1
Posty: 9
Rejestracja: ndz 20 mar 2005, 17:37

konwersja typów

Postautor: dawid » wt 02 sie 2005, 12:35

Witam wszystkich

Mam mały problem. Mmam dwie zmienne
FLOAT zmienna1;
BYTE zmienna2;

i chce zrobić konwersje zmienna=(BYTE)zmienna1;

to które bity mi wezmie ze zmiennej1 i wstawi do zmiennej2.
np. jezeli mam FLOAT zmienna1=3421.2323 lub zmienna1= 65653421.2323; to co odpowiednio zostanie?

shg

Postautor: shg » śr 03 sie 2005, 3:32

To zrób i zobacz, program pisze się minutę :P

A tak poza tym, to jest problem, bo chyba zależy od kompilatora i FPU.
O ile dobrze pamiętam, to standard ANSI C nie definiuje sposobu wykonywania konwersji z typu zmiennoprzecinkowego na całkowity jeżeli wartość zmiennoprzecinkowa nie mieści się w całkowitej.
Zdaje się, że w ISO C99 są zalecenia, żeby przypisać zmiennej największą wartość, jaką może przechować.

Jeżeli nie jest sprawdzane przepełnienie, to w wyniku dostaniesz najmniej znaczące bity, czyli (3421 & 0xff)
jeżeli jest kontrola przepełnienia, to dostaniesz 255, czyli maksimum.

A żeby uniknąć kłopotów - nieśmiertelne, cholernie przydatne i niedoceniane makro assert()

Jeżeli zależy Ci konkretnie na wybranych bitach, to rzutuj na int (LONG?), a potem na BYTE.

hassan123
Raczkujący użytkownik 1
Raczkujący użytkownik 1
Posty: 1
Rejestracja: pt 17 paź 2014, 14:59

Re: konwersja typów

Postautor: hassan123 » pt 17 paź 2014, 15:10

witam
mam pytanie
mam dwie tablice
BYTE tab1
UINT tab2

jak można zrobić zeby w tab1 znalazly sie wartosci z tab2 ale tak zeby w tab1[0] znalazlo sie 8 mniej znaczacych bitow z tab2[0], a w tab1[1] 8 bardziej znaczacych bitow z tab2[0] i tak przez cala dlugosc tablicy tab2


_____________
http://www.vmware.com/
http://www.pass4-sure.net/220-801-dumps.html
http://en.wikipedia.org/wiki/Arkansas_T ... ark_campus
http://www.caltech.edu/
https://www.facebook.com/Moontextile
Ostatnio zmieniony śr 05 lis 2014, 10:33 przez hassan123, łącznie zmieniany 1 raz.

sp9ttz
Piszący użytkownik 3
Piszący użytkownik 3
Posty: 66
Rejestracja: pt 24 sty 2014, 1:40
Lokalizacja: Bytom

Re: konwersja typów

Postautor: sp9ttz » pt 17 paź 2014, 22:43

Spróbuj użyć czegoś takiego jak unie.
Przykład:
union Nazwa {
typ1 nazwa1;
typ2 nazwa2;
/* ... */
};
Jak do jednej zmiennej przypiszesz wartość to w drugiej będzie uwzględniając zmianę typu.


Wróć do „Oprogramowanie wspomagające projektowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika. i 7 gości

cron