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

흐뭇한 물박달나무2013.10.29 23:08조회 수 1104댓글 7

  • 1
    • 글자 크기

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

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

음수형이 되었을때,

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

가령, 정수 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을 해주어야 할까요..?ㅜㅜ

  • 1
    • 글자 크기
프랑스어 서정행교수님꺼 들어보신분 (by 찬란한 얼레지) 언어사회와문화 들어보신분? 조 어떻게 짜지나요? 수업 빡세나요? (by 거대한 홍초)

댓글 달기

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


    제가 생각해본건 이거에요..
  • 예를들어 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 비트는 -부호 붙여서 계산하면 됩니다
  • @활달한 쪽동백나무
    글쓴이글쓴이
    2013.10.30 01:26
    아ㅠㅠ 정말감사합니다 ㅠㅠ
  • 아 저그림ㅠ
번호 제목 글쓴이 날짜
공지 욕설/반말시 글쓰기 권한 영구 정지10 저렴한 개불알꽃 2019.01.26
공지 식물원 이용규칙 (2018/09/30 최종 업데이트) - 학생회 관련 게시글, 댓글 가능17 흔한 달뿌리풀 2013.03.04
72370 50대 남성 향수 추천 좀 부탁드립니다 ㅠㅠ13 건방진 구골나무 2018.09.11
72369 길가면서 입벌리고 다니시는분 계신가요?10 애매한 고욤나무 2019.03.10
72368 이과는 금융공기업 준비 못하나요?8 짜릿한 물아카시아 2020.03.18
72367 디저트가게 취업을 생각하시는 학우분들 있나요?(메종드푸, 보노베리, 보느제과 등)6 일등 비름 2020.04.04
72366 면접 날이 겹치면 어떻게 해야하죠?7 초연한 램스이어 2020.11.25
72365 시나브로 외톨이9 귀여운 털머위 2012.09.19
72364 밑에 인성과 성적비례한다는 유리나비? 보세요5 유능한 고로쇠나무 2012.09.25
72363 으앆2 청결한 붉은서나물 2012.12.14
72362 13 깨끗한 맑은대쑥 2013.03.15
72361 시험기간언제까진가여4 청렴한 짚신나물 2013.04.24
72360 작년 선거도우미 식권 난폭한 마타리 2013.04.30
72359 9시정각에 신청했는데.. 창업기업과정신 다차버렸네..1 엄격한 은목서 2013.05.21
72358 인터넷에서 대학교 강의 볼 수 있는 사이트가 어디였죠?1 억쎈 봄구슬봉이 2013.06.26
72357 밀캠에 공부할만한곳3 머리좋은 댑싸리 2013.06.30
72356 왜이리비참하지3 촉촉한 개구리자리 2013.10.04
72355 프랑스어 서정행교수님꺼 들어보신분2 찬란한 얼레지 2013.10.20
저기.. c언어 한가지 질문좀 부탁합니다..7 흐뭇한 물박달나무 2013.10.29
72353 언어사회와문화 들어보신분? 조 어떻게 짜지나요? 수업 빡세나요?5 거대한 홍초 2013.11.06
72352 부산대학교 실컴 증설될까요?2 무좀걸린 도라지 2013.11.07
72351 겨울 계절학기 기숙사 합격자 발표1 돈많은 삼백초 2013.12.02
첨부 (1)
1.jpg
1.61MB / Download 2