저기.. c언어 한가지 질문좀 부탁합니다..

글쓴이
  • 2013.10.29. 23:08
  • 1156

지금 < 부호있는 데이터형의 음수 / 오버플로우 >부분을 보고있습니다..

그걸 보면서 이해가 안되는게,

음수형이 되었을때,

그것을 어떻게 읽어야하느냐입니다..

가령, 정수 10을 2의 보수법으로 -10을 만들어보면,

1111 1111 1111 0110

위와 같이 되는데,

이걸보고 "혹시, 숫자0을 양수일때 1로보고 숫자를 계산하고 음수를 붙이면 되는게 아닐까~?" 생각했습니다.

그런데, 오버플로우를 보니

 


1.jpg

위의 사진의 맨밑에 음수로 변한것을

 

위에 말했던 0과 1을 바꿔서 생각하고 숫자를 구하면,

 

2^14 + 2^13 + ... + 2^0 = - (2^15 - 1)

ㄴ이렇게 되어야하는데,

 

이번에는 또 그렇지 않고

 

-(2^15)더군요..

 

 

c언어에서 부호있는 정수의 음수는 어떻게 읽어야하는건가요,,?

 

===============================================================

 

혹시 양수일때의 0과 1을 바꿔서 생각하되,

 

나온숫자의 크기에 +1을 해주어야하나요?

 

만약 그렇다면 왜 +1을 해주어야 할까요..?ㅜㅜ

권한이 없습니다.
댓글 7
육중한 파인애플민트 13.10.29. 23:10
넘쉽당....ㄷㄷ
0 0
글쓴이 글쓴이 13.10.29. 23:14
육중한 파인애플민트
아시면 설명좀 부탁드립니다 ㅠ
0 0
적나라한 편백 13.10.29. 23:18
양수의 경우 그냥 읽으면 되고,
음수의 경우 2의 보수를 취하고, 부호를 붙여줍니다.
글쓴이께서 설명하신 내용은 잘 이해가 되지 않네요.
----- ???
이걸보고 "혹시, 숫자0을 양수일때 1로보고 숫자를 계산하고 음수를 붙이면 되는게 아닐까~?" 생각했습니다.
0 0
글쓴이 글쓴이 13.10.29. 23:30
적나라한 편백
죄송합니다, 제가 설명을 잘못했나봐요 ㅠ

일단, 궁금한것 = 음수 2진수를 10진수로 고칠려면 어떻게해야하나?

..이고요,

"혹시, 숫자0을 양수일때 1로보고 숫자를 계산하고 음수를 붙이면 되는게 아닐까~?" <=이건 예를 들어 설명해볼게요
ex) 1111 1111 1111 0110 이게 부호가 있는 정수데이터 일때,
1. 위의 2진수에서, 0 => 1, 1 => 0과 같이 바꾸고 10진수를 구하면
크기는 9이다.(즉, 숫자바꾼다음, 양수의 10진수값 구하는것처럼 크기구함)
2. 1에서 구한값에 +1 해준다. 따라서, 9+1 = 10
3. 원래 부호를 대입해준다. 따라서, -10


제가 생각해본건 이거에요..
0 0
활달한 쪽동백나무 13.10.30. 00:19
예를들어 4비트의 이진수표현(최상위비트 sign 비트)
5를 표현하면 0101 이겠죠?
-(0*2^3) + 1*2^2 + 0*2^1 + 1*2^0 = 5
이렇게 식이 세워지구요

-5를 표현하면 2의 보수 취해서 1011 이죠
-(1*2^3) + 0*2^2 + 1*2^1 + 1*2^0 = -5

이렇게 나옵니다 sign 비트는 -부호 붙여서 계산하면 됩니다
0 0
글쓴이 글쓴이 13.10.30. 01:26
활달한 쪽동백나무
아ㅠㅠ 정말감사합니다 ㅠㅠ
0 0
의연한 마름 13.10.30. 03:36
아 저그림ㅠ
0 0
  • 공지 욕설/반말시 글쓰기 권한 영구 정지 10
  • 공지 식물원 이용규칙 (2018/09/30 최종 업데이트) - 학생회 관련 게시글, 댓글 가능 17
  • 쉴 때 어디 좀 나가보려는데 잘 안 되네요
    나쁜 산단풍
    26.06.30.
  • 월드컵 탈락...
    청결한 연잎꿩의다리
    26.06.28.
    1
  • 슬슬 날이 좀 더워지네요
    까다로운 둥근잎나팔꽃
    26.06.20.
  • 홈플러스 동래점도 결국 문 닫으려나요...
    도도한 튤립나무
    26.06.10.
    2
  • 근데 요새 맥도날드 콜라 시키면 빨대 쑤셔넣기 힘들어지지 않았나요?
    겸연쩍은 노루오줌
    26.06.05.
    2
  • 요새 가끔씩 베란다에 누가 숨어 살거나 침입해 있는 꿈을 꾸는데
    명랑한 흰꽃나도사프란
    26.05.24.
  • 다시 돌아온 노는날~~~~
    신선한 히아신스
    26.05.22.
  • 오늘은 어버이의 날입니다
    유치한 곰취
    26.05.08.
  • 뭐여 주식 왜 이렇게 올랐어여
    끔찍한 질경이
    26.05.06.
  • 간만에 3일 휴가 ㅠㅠㅠㅠ
    활달한 머루
    26.05.01.
    2
  • 여행 많이 다니시는 분들은 저축은 어떻게 하시나요
    따듯한 애기봄맞이
    26.04.26.
  • 오늘 만덕센텀고속화도로 타봤는데
    슬픈 호두나무
    26.04.23.
  • 2년전에 건강검진 안 받고 올해 받았는데
    다친 도깨비바늘
    26.04.19.
  • 오피스텔 사는데 위층에서 물을 너무 많이 쓰네요
    도도한 긴강남차
    26.04.14.
  • 친구구합니다
    발랄한 왕원추리
    26.04.06.
    1
  • 그래도 요새는 영화관에서 나름 볼만한 영화가 꽤 있네요
    무좀걸린 갈참나무
    26.04.04.
  • 날씨는 좀 풀렸는데 세상은 아직 전쟁통이네요
    기발한 개연꽃
    26.03.27.
  • 예전에 자취하면서 먹었던 컵밥 같은 게 요샌 많이 없네요
    나쁜 큰괭이밥
    26.03.20.
    1
  • 15학번 동기들 잘지내나요
    근육질 먹넌출
    26.03.19.
    3
  • 이제 좀 전쟁이 끝나려나요
    해박한 청가시덩굴
    26.03.18.
검색