정수 상수

설명

정수 상수는 123처럼 스케치에서 직접 사용되는 숫자이다. 기본으로, 이 숫자들은 int 로 취급되지만 U와 L 변경자로 이것을 바꿀 수 있다(아래를 보세요)

보통, 정수 상수는 십진수(decimal)로 취급되지만, 특별한 표기(포매터)가 쓰여져서 다른 진법으로 쓰일 수 있다.

포매터 설명
10 (decimal)123없음
2 (binary)B1111011선행 'B'오직 8비트 값 (0 to 255) 문자 0&1 만 타당
8 (octal)0173선행 "0"문자 0-7 타당
16 (hexadecimal)0x7B선행 "0x"문자 0-9, A-F, a-f 타당

Decimal (밑 10)

이것은 여러분이 알고 있는 보통 수학이다. 다른 접두어 없는 상수는 십진수 형으로 가정한다.

예제 코드:

n = 101; // 101 십진수 ((1 * 10^2) + (0 * 10^1) + 1)

Binary (밑 2)

문자 0 과 1 만 타당.

예제 코드:

n = B101; // decimal 5와 같음 ((1 * 2^2) + (0 * 2^1) + 1)

바이너리 포매터는 0(B0)과 255(B11111111) 사이의 바이트(8비트)에서만 동작한다. 입력을 바이너리 포맷으로 하는 게 편하면 아래와 같은 2단계를 할 수 있다:

myInt = (B11001100 * 256) + B10101010; // B11001100 is the high byte`

Octal (밑 8)

0에서 7까지의 문자만 타당. 접두사 "0"(영)은 8진수를 가리킨다.

예제 코드:

n = 0101; // 십진수 65 ((1 * 8^2) + (0 * 8^1) + 1)

(의도치 않게) 상수 앞에 영을 포함하여 컴파일러가 의도치 않게 상수를 8진수로 해석하여 찾기 어려운 버그를 만들어 낼 수 있다.

Hexadecimal (밑 16)

타당한 문자는 0에서 9까지 그리고 글자 A에서 F까지; A 는 값 10, B 는 11, F까지, 그건 15. 접두사 "0x"는 16진수를 가리킨다. A-F 는 대문자 또는 소문자 (a-f)도 됨을 주의하시오.

예제 코드:

n = 0x101; // 십진수 257과 같음 ((1 * 16^2) + (0 * 16^1) + 1)

※ 주의 및 경고:

U & L 포매터:

기본 값으로, 정수 상수는 값의 제한과 함께 int로 취급된다. 정수 상수를 다른 자료형으로 상술하려면, 다음을 따르시오:

  • 'u' 또는 'U' 는 상수를 부호없는 자료형으로 강제 변환. 예: 33u
  • 'l' 또는 'L' 상수를 long 자료형으로 강제 변환. 예: 100000L
  • 'ul' 또는 'UL' 상수를 long 상수로 강제 변환. 예: 32767ul

더보기

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables.

※ OUR MESSAGES