책 내용 질문하기
서식문자열 %o 관련사항
도서
2020 시나공 정보처리기능사 실기 : NCS 기반 전면 개편
페이지
125,127
조회수
385
작성일
2020-05-20
작성자
탈퇴*원
첨부파일
2020정보처리기능사 실기 문제집 125페이지 예제 문제에 scanf("%d %o" , & i, &j) 에서 j에 20을 입력했다면 8진수 20이 10진수 16으로 되어 16이 저장된다 했는데 왜 127페이지 printf 함수 예제문제의 printf("10진수i = %d\t 8진수i = %o\n", i, j) 에서는 10진수 250이 8진수 372로 저장된건가요? 125페이지에서는 8진수->10진수로 계산되고 127페이지에서는 10진수->8진수로 계산된 이유가 궁금합니다.
답변
2020-05-21 10:36:16
안녕하세요 길벗수험서 운영팀입니다.
입력(scanf)과 출력(printf)의 차이를 확실히 구분해두세요.
scanf("%o", &변수) 는 "화면에 입력된 숫자를 8진수로 인식하여 메모리(변수)에 저장한다." 입니다.
printf("%o", 변수) 는 "메모리(변수)에 저장된 값을 8진수로 변환하여 출력한다." 입니다.
실질적으로 컴퓨터에 해당 수가 저장될 때는 바이너리(2진수) 값으로 저장되겠죠.
우리가 실생활에 주로 사용하는 것은 10진수이지만 컴퓨터도 똑같이 이것을 "10진수로 저장되었다!"라고 표현하기에는 어렵습니다. 그저 단순히 우리가 10진수를 많이 쓰니깐 "저장된 숫자의 값은 00(10진수)이다."라고 표현할 뿐이죠.
행복한 하루되세요 :)
-
관리자2020-05-21 10:36:16
안녕하세요 길벗수험서 운영팀입니다.
입력(scanf)과 출력(printf)의 차이를 확실히 구분해두세요.
scanf("%o", &변수) 는 "화면에 입력된 숫자를 8진수로 인식하여 메모리(변수)에 저장한다." 입니다.
printf("%o", 변수) 는 "메모리(변수)에 저장된 값을 8진수로 변환하여 출력한다." 입니다.
실질적으로 컴퓨터에 해당 수가 저장될 때는 바이너리(2진수) 값으로 저장되겠죠.
우리가 실생활에 주로 사용하는 것은 10진수이지만 컴퓨터도 똑같이 이것을 "10진수로 저장되었다!"라고 표현하기에는 어렵습니다. 그저 단순히 우리가 10진수를 많이 쓰니깐 "저장된 숫자의 값은 00(10진수)이다."라고 표현할 뿐이죠.
행복한 하루되세요 :)