inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

문제로 배우는 C언어

프로그램 구조 및 설정 설명

부호비트 질문드립니다 !

240

tmdal0303

작성한 질문수 14

0

안녕하세요, 강의를 듣던 중 이해가 가지 않아 질문드리겠습니다. 

32비트를 양수,음수의 개수로 표현하는 데 있어서 

양수의 경우 2의31승 - 1개 / 음수 2의 31승 이라고 하셨는데 
제가 이해한 것은,

양수가 2의 31승 - 1인 이유가 31승에서는 양수므로 부호비트 0을 제외하여 2의 31승이 되었는데 -1이 되는 이유가 궁금합니다.
또한, 음수는 음수 부호비트 제외해서 2의 31승까지는 알겠는데 왜 -1을 해주지 않는지 다시 한번 설명해주시면 감사하겠습니다...! 

c

답변 1

0

김태원

-1를 해주는 이유는 부호비트가 0일때 즉 양수에서는  숫자가 1부터 대응되는 것이 아니라 0부터 대응되기 때문입니다.  

만약 3bit로 8가지의 경우가 만들어 진다면  0부터 7까지 대등되는 것입니다.

반대로 음수는 -1부터 대응되기 때문에 빼주지 않고요.

음료수 자판기 출력이 이상하게 나옵니다

0

142

2

i 값 초기화 질문

0

70

2

recipe for targe 'AA.exe' failed

0

63

1

30과 10의 xor

0

191

1

커리큘럼 문의 드립니다

0

232

1

for문에서 sum 관련 질문

0

179

1

이렇게 풀어도 맞는걸까요?

0

253

2

이렇게 풀어도 맞는 풀이일까요?

0

303

1

20페이지 홀,짝,제로 문제에서 이 코드로 짜도 괜찮을까요?

0

257

1

24. 최솟값 구하기

0

333

1

질문 있습니다.

0

325

1

배열을 전역변수로 설정하는 이유

1

666

1

41. A를 #으로에서 질문 있습니다.

0

291

1

20번 소수 판별하기에서 질문 있습니다.

0

423

1

42번 bus error;;;

0

612

1

정수형 배열에서 배열 크기

0

395

1

38. 자리찾기 커지는 방향으로..

0

303

1

37. 배열의 회전에서 ...

0

280

1

1차원 배열에서

0

270

1

지수연산에서

0

300

1

7.연필 개수 문제

0

381

1

a=(int)a 에서 왜 괄호를 붙이나요 a=int a 는 왜안되나요

0

847

1

섹션 6. 소수

0

323

1

왜 2중for문을 두개 쓴건가요?

0

244

1