Embedded Software
Embedded Software
메뉴
검색
컨텐츠 검색
블로그 내 검색
고독한 개발자의 생존 일기
Language/C
[C] 배열을 float 형으로 변환(BYTE to float)
Dexter_-
2016. 9. 19. 10:24
728x90
반응형
비트 연산으로 변환
배열의 값은 float형으로 5.05 를 나타낸다.
TCP/IP 통신을이용해 데이터를 수신하니 리틀엔디언 효과로 자리 변환이 일어났다.
위와 같은 이유로 아래와같이 배열을 역순으로 비트연산 하였다.
iii 는 unsigned long type 이고, ii 는 float type 이다.
0xFF 는 부호가 없는 정수일경우 없어도 무방하지만 부호가있는 정수는 0xFF를 and연산해주어야 한다.(부호확장 방지)
빨간 박스의 코드와 같이 가져온값은 float로 꼭 변환하여 사용해야 한다.
union 사용
union 구조체로 선언하면 동일한 값이 자동으로 들어간다.
unsigned char일경우 부호가 없기 때문에 부호확장시 전부 0을 채워넣는다. 그래서 &0xFF가 필요 없다.
결과
728x90
반응형
공유하기
게시글 관리
Embedded Software
'
Language
>
C
' 카테고리의 다른 글
[C언어] C++/extern "C"를 쓰는 이유
(0)
2017.06.12
[C언어] printf 매크로 사용법
(0)
2016.09.19
C언어 강좌 ( 오류처리 / errno / strerror / strerror_r )
(0)
2016.09.19
C언어 강좌(touuper)
(0)
2016.09.19
C언어 강좌(도스 에서의 메시지 박스 사용)
(0)
2016.09.19
관련글
관련글 더보기
[C언어] C++/extern "C"를 쓰는 이유
[C언어] printf 매크로 사용법
C언어 강좌 ( 오류처리 / errno / strerror / strerror_r )
C언어 강좌(touuper)
테마
상단으로
티스토리툴바
Embedded Software
구독하기