프로그래머가 소원비는 만화
불량우유
16
1772
2
0
2021.04.10 11:53
이전글 : 만국공통인 엄마한테 혼난 뒤 주의사항
다음글 : 삼성전자, 아이폰 신기술 공개
Best Comment
0000000000000000000000000000000000000000000000000000000000000000에서
1111111111111111111111111111111111111111111111111111111111111111까지
여기서 2진수로 뺄셈을 할 때 컴퓨터는 뺄셈을 덧셈으로 하려함. 음수를 표현 할 때는 마이너스 뒤의 수를 전부 보수화하여 1을 더함
즉 저 -1은 1이 63개 0이 하나인 수로 바뀌고 거기에 1을 더해서 보수화가 이루어져 1이 64개인 숫자가됨. 이 숫자는 일반 longlong에서는 음수겠지만 이러한 음수영역까지 양수로 표현토록한게 unsigned long long이라서 저 1 64개짜리 수는 표현 가능한 최대의 수 2의 64제곱-1이 됨
쓰고나니 내 설명이 더 어려운듯 ㄷ
unsigned 는 음수가 없습니다
따라서 컴퓨터에서 0에다가 빼기하면 한바퀴를돌아
표현할수있는 최대값이 출력되요
간단한 예시로
윈도우 계산기를 보기를 선택
프로그래머용 변환
0에다가 -1 하고 16진수바꾸면
ffffffffff가나옵니다(단 다시 십진수로바꾸면 윈도우계산기는 음수가있으니 -1이 나옵니다)