• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

3차원 배열

21.08.09 17:23 작성 조회수 207

0

int arr_3d[2][3][4] = {

{

{000,001,002,003},

{010,011,012,013},

{020,021,022,023},

},

{

{100,101,102,103},

{110,111,112,113},

{120,121,122,123},

}

};

이거 큰묶음 2번째목록은 제대로 출력되는데

큰묶음 1번째에서 

0 1 2 3 

8 9 10 11

16 17 18 19

로 출력되네요 이유가 뭘까요

답변 2

·

답변을 작성해보세요.

2

thd2tn님의 프로필

thd2tn

2021.08.09

앞에 0 때문에 8진수로 인식하는 거 같아용

0

안소님의 프로필

안소

2021.08.09

윗 분 말씀이 맞습니다. 0 으로 시작하는 정수는 8 진수를 뜻합니다. 

예를 들어 012 가 10 으로 출력되고 있는데 이는 8진수 12를 (012 의 0 은 8진수다라는 걸 의미하는 것일 뿐이니 8진수로 12 를 뜻하는 숫자가 되겠습니다.) 10진수로 변환한 결과입니다. 1 * 8 + 2 * 1 = 10

여담으로 16진수는 0x 로 시작합니다. (0xAB12 이런식)