16진수
- 숫자앞에 0x부착. 예 . 0xAC 16진수 이므로 0,..,9,A,B,C,D,E,F 로만 구성. 소문자로 해도됨.
- 16진수 표현 문법은 모든 C, C++ 컴파일러에서 동일하여 완전한 표준으로 생각해도됨.
2진수
- 숫자앞에 0b 부착. 예. 0b10010001. 2진수이므로 1과0으로만 구성.
- C++ 14 에서는 가독성 향상 목적으로 구분자' 사용해도됨. 예 : 0b1000'0001
- 원래 C 언어에는 2진수 표현 표준규격없었음.
- 컴파일러마다 0b 를 2진수로 처리가능한 경우도 있고, 아닌 경우도 있음.
- gcc 에서는 0b 가능. KEIL MDK-ARM 에서는 0b 모름.
2진수 표현 위한 마크로
- 모든 C 컴파일러에서 사용가능하려면 아래 코드예처럼 마크로 이용해도 된다.
#define BIN_TO_BYTE(b7,b6,b5,b4,b3,b2,b1,b0) ((b7 << 7)+(b6 << 6)+(b5 << 5)+(b4 << 4)+(b3 << 3)+(b2 << 2)+(b1 << 1)+b0)
void main(void)
{
uint8_t x = BIN_TO_BYTE(1,1,1,1,1,0,0,0);
}
'VisualStudio.C++.C# > C . C++' 카테고리의 다른 글
C/C++. & 와 * 메모리 접근 형변환 (0) | 2020.01.13 |
---|---|
C/C++. 구조체 변수 선언 동시 멤버 초기화 (0) | 2020.01.10 |
C/C++. 메모리 스택, 힙,지역변수, 동적 메모리 할당. stack, heap, new, delete (0) | 2019.12.28 |
C/C++. 구조체 메모리 동적 할당. malloc , free (0) | 2019.12.28 |
C/C++. #error. 컴파일시 사용자 지정 오류 메시지 출력 하고 컴파일 종료 (0) | 2019.10.22 |
댓글