본문

[잡담] C에서 음수문제

일시 추천 조회 678 댓글수 12


1

댓글 12

"2의 보수"를 공부해 보세요. 컴에서 음수 표현 하는 방식입니다. https://ko.wikipedia.org/wiki/2%EC%9D%98_%EB%B3%B4%EC%88%98

클랴 | (IP보기클릭)14.63.***.*** | 21.12.07 23:02
클랴

감사합니다. 위키 생각을 못했네요. 다음에는 게시판에 글 올리기전에 먼저 검색해 보겠습니다.

인민배우 심영 | (IP보기클릭)59.16.***.*** | 21.12.07 23:23

char형의 범위는 -128~127

Chainsfield | (IP보기클릭)58.141.***.*** | 21.12.07 23:04
Chainsfield

아, 256/2 해서 +-128이라고 생각했는데, 하나가 작군요....저거 1비트는 아마 부호겠죠?

인민배우 심영 | (IP보기클릭)59.16.***.*** | 21.12.07 23:17
인민배우 심영

0도 한자리를 가지고 있어야 합니다.

Chainsfield | (IP보기클릭)58.141.***.*** | 21.12.07 23:32
Chainsfield

아하.....0과 NULL은 다르다는 걸...T..T

인민배우 심영 | (IP보기클릭)59.16.***.*** | 21.12.07 23:35

2의보수가 유리한 이유는 & 연산을 이용한 덧셈 연산으로 간단하게 뺄셈이 가능해 지기 때문입니다.

루리웹-3649315747 | (IP보기클릭)121.165.***.*** | 21.12.07 23:08
루리웹-3649315747

독학을 해서 그러는지 모르겠지만, 수학을 배워야 하나 생각할 때가 있습니다. 진수계산이야 어려울 게 없지만. 저거하고, 왼쪽 오른쪽으로 진수이동하는 것이 왜 2^n으로 곱하기/나누기와 같은건지 의문을 풀어야 할지. 똑똑한 사람들이 알아서 잘 해놓은거니 그냥 닭치고 외워야 하는건지...

인민배우 심영 | (IP보기클릭)59.16.***.*** | 21.12.07 23:23
인민배우 심영

수학 배우셔야 합니다.

오잇스 | (IP보기클릭)116.121.***.*** | 21.12.08 00:01

char면 용량이 1 byte입니다. 양수 범위로 127까지만 표현 가능합니다. 근데 여기에 128을 넣는 순간 오버플로우가 일어나며 아마 -128이 될 거에요. -128은 8bit로 1000 0000으로 표현됩니다. 이걸 반전 시키면 0111 1111이 되고 여기에 1을 더하면 1000 0000으로 다시 -128이 나올 것 같지만 128이 나오는 이유는 ~C에 1을 더할 때 ~C는 char형이고 1은 int형이므로 ~C가 char형에서 int형으로 타입이 형변환 되고 덧셈이 일어나기에 128로 계산되는 것으로 보입니다.

오잇스 | (IP보기클릭)116.121.***.*** | 21.12.07 23:13
오잇스

연산 과정은 아래와 같습니다. char Ch = 128을 하면 메모리에 1000 0000이 저장됩니다. ~Ch 연산으로 0111 1111이 됩니다. ~Ch가 char(8bit)에서 int(32bit)로 변환됩니다 메모리 상에서는 아래와 같이 표현됩니다. 00000000 00000000 00000000 01111111 이제 여기에 int형 1을 더합니다. 그러면 메모리 상에서는 아래와 같이 표현됩니다. 00000000 00000000 00000000 10000000 이 32bit는 10진수로 128로 해석됩니다.

오잇스 | (IP보기클릭)116.121.***.*** | 21.12.07 23:16
오잇스

아. 이렇게 풀어쓰니 확, 보이네요. 감사합니다. 이렇게 늦은 시간에 유게나 성유게도 아니고 프로그레밍 게시판에 답변을 받을거라고는T..T

인민배우 심영 | (IP보기클릭)59.16.***.*** | 21.12.07 23:19
댓글 12
1
위로가기
세가좋어 | 추천 0 | 조회 281 | 날짜 2024.04.12
공돌이인생 | 추천 0 | 조회 100 | 날짜 2024.03.29
루리웹-1970043849 | 추천 0 | 조회 198 | 날짜 2023.12.18
질풍비장의패 | 추천 1 | 조회 589 | 날짜 2022.11.30
루리웹-3648796984 | 추천 0 | 조회 764 | 날짜 2022.11.23
루리웹-8641268934 | 추천 2 | 조회 700 | 날짜 2022.08.07
루리웹-4247021526 | 추천 2 | 조회 747 | 날짜 2022.07.25
루리웹-4746138650 | 추천 0 | 조회 674 | 날짜 2022.06.01
키라 요시카게 | 추천 1 | 조회 736 | 날짜 2022.05.24
우너무너 | 추천 0 | 조회 660 | 날짜 2022.05.14
키라 요시카게 | 추천 0 | 조회 643 | 날짜 2022.04.03
와이플 | 추천 0 | 조회 652 | 날짜 2022.01.14
와이플 | 추천 0 | 조회 670 | 날짜 2022.01.13
와이플 | 추천 1 | 조회 809 | 날짜 2022.01.13
인민배우 심영 | 추천 0 | 조회 879 | 날짜 2022.01.09
인민배우 심영 | 추천 0 | 조회 723 | 날짜 2022.01.08
오잇스 | 추천 0 | 조회 644 | 날짜 2022.01.05
인민배우 심영 | 추천 0 | 조회 538 | 날짜 2022.01.02
인민배우 심영 | 추천 0 | 조회 661 | 날짜 2021.12.31
인민배우 심영 | 추천 0 | 조회 1029 | 날짜 2021.12.30
인민배우 심영 | 추천 1 | 조회 650 | 날짜 2021.12.27
salvare545 | 추천 0 | 조회 609 | 날짜 2021.12.27
_ 식봉이는 식봉해 | 추천 4 | 조회 1169 | 날짜 2021.12.27
인민배우 심영 | 추천 0 | 조회 702 | 날짜 2021.12.25
인민배우 심영 | 추천 1 | 조회 809 | 날짜 2021.12.24
인민배우 심영 | 추천 0 | 조회 916 | 날짜 2021.12.16
V1046R-MAHORO | 추천 1 | 조회 507 | 날짜 2021.12.14
인민배우 심영 | 추천 0 | 조회 702 | 날짜 2021.12.10

1 2 3

글쓰기
게시판 매니저