inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

홍정모의 따라하며 배우는 C++

3.7 이진수 Binary Numbers

3.7 이진수 영상 마지막 연습 문제 답 이거 맞나요??

628

눕눕놉놉

작성한 질문수 7

1

c++

답변 1

1

Soobak

안녕하세요, 답변 도우미 Soobak 입니다. 😀

  • 이진수 0100 1101 을 10진수로

    -> 77 이 맞습니다.

    계산 과정 :

    (0 × 2^7) + (1 × 2^6) + (0 × 2^5) + (0 × 2^4) + (1 × 2^3) + (1 × 2^2) + (0 × 2^1) + (1 × 2^0)

    = (0 × 128) + (1 × 64) + (0 × 32) + (0 × 16) + (1 × 8) + (1 × 4) + (0 × 2) + (1 × 1)

    = 64 + 8 + 4 + 1 = 77

     

  • 10진수 93을 8비트 무부호 정수로

    -> 0101 1101 이 맞습니다.

    계산 과정 :

    (1) 93 ÷ 2 = 몫 46, 나머지 1

    (2) 46 ÷ 2 = 몫 23, 나머지 0

    (3) 23 ÷ 2 = 몫 11, 나머지 1

    (4) 11 ÷ 2 = 몫 5, 나머지 1

    (5) 5 ÷ 2 = 몫 2, 나머지 1

    (6) 2 ÷ 2 = 몫 1, 나머지 0

    (7) 1 ÷ 2 = 몫 0, 나머지 1
    = 0101 1101

     

  • 10진수 -93을 8비트 부호 정수로

    -> 1010 0011 이 맞습니다.
    계산 과정 :

    (1) 93을 8비트 무부호 정수로 변환 ( 위에서 계산한 0101 1101 )

    (2) 2의 보수를 취하여 음수로 표현

    i. 이진수의 비트를 반전시키기 (1을 0으로, 0을 1로) : 1010 0010

    ii. 반전된 이진수에 1을 더하기 : 1010 0010 + 0000 0001 = 1010 0011

     

  • 2진수 1010 0010을 무부호 10진수로

    -> 162 가 맞습니다.

    계산 과정 :

    (1 × 2^7) + (0 × 2^6) + (1 × 2^5) + (0 × 2^4) + (0 × 2^3) + (0 × 2^2) + (1 × 2^1) + (0 × 2^0)

    = (1 × 128) + (0 × 64) + (1 × 32) + (0 × 16) + (0 × 8) + (0 × 4) + (1 × 2) + (0 × 1)

    = 128 + 32 + 2 = 162

     

  • 같은 2진수를 부호가 있는 10진수로

    -> -93 이 아니라 -94 입니다.

    계산 과정 :

    (1) 최상위 비트 확인 -> 1

    (2) 최상위 비트가 1 이므로, 음수임을 확인

    (3) 음수를 변환하기 위해, 2의 보수를 구함

    i. 1010 0010 비트 반전 -> 0101 1101

    ii. 반전된 이진수에 1을 더하기 -> 0101 1101 + 0000 0001 = 0101 1110

    (4) 이제 양수인 0101 1101 을 10진수로 변환

    (0 × 2^7) + (1 × 2^6) + (0 × 2^5) + (1 × 2^4) + (1 × 2^3) + (1 × 2^2) + (1 × 2^1) + (0 × 2^0)

    = (0 × 128) + (1 × 64) + (0 × 32) + (1 × 16) + (1 × 8) + (1 × 4) + (1 × 2) + (0 × 1)

    = 64 + 16 + 8 + 4 + 2 = 94

    (5) 변환 전 원래의 이진수가 음수를 나타냄을 확인했었으므로, 최종 결과에 - 를 붙임

    -> -94

     

     

과제로 주어지는 문제들도 꼼꼼하게 풀이하시며 학습하시는 모습이 멋있으십니다. 👍👍
또 궁금하신 점 있으시면 언제든지 편하게 질문 남겨주세요. 감사합니다. 화이팅! 😀

강의자료는 어디서 받을 수 있죠?

1

36

2

교재 있나요?

1

143

2

11:11 부근에 Something::temp와 Something::getValue의 앞에 &를 붙이는 이유가 뭔가요? (함수 이름은 포인터(주소)가 아닌가요?)

1

95

3

using namespace std; 선언 후에 std::를 하는 이유가 궁금합니다

1

107

2

cstr직접구현

0

119

3

BubbleSort

1

80

2

숙제 마지막 부분

1

80

2

강의와 똑같이 진행했는데 링킹 에러가 발생합니다.

1

97

2

수업할때 레퍼런스로 사용하는 도서는 어떤 도서인가요??

1

165

2

공변반환형 관련 문의 드립니다.

1

92

2

170강 유니크 포인터에대해 질문있습니다

1

82

1

섹션 5 퀴즈의 답이 이상합니다

1

86

2

이중포인터와 배열이 이해가 안됩니다.

1

161

2

5분 17~5분 34초 객체 잘림 질문

1

80

1

Resource.h 코드 알려주세요

1

74

1

char name[] 배열의 길이와 관련해 일부 궁금점이 생겨서 질문합니다

1

96

2

화면좌측 숫자 보이기

1

116

1

화면 좌측 숫자 보이기

0

68

1

처음 c++ 수강하려는데요. 비주얼스튜디오 2022 다운로드해서 설치하면 되는건가요??

1

139

3

46강 string 버퍼 질문입니다

1

82

2

프로그래머스 수열과 구간 쿼리 2 문제 질문입니다.

1

126

2

[] 범위 검사시 assert 사용 관련 질문

1

92

2

Lecture 클래스 멤버변수 명명 관련

0

94

2

프로그래머스의 대소문자 바꿔서 출력하기 문제를 푸는데요

0

76

1