00:00 인트로 00:48 정보 단위 06:14 이진법 - 0과 1로 숫자 표현하기 14:50 십육진법 19:28 이진수 → 십육진수 변환 20:13 십육진수 → 이진수 변환
@이종민-s2j2 жыл бұрын
혹시 강의는 계속 나오는건가요??
@VictoryH-e8m2 жыл бұрын
강의 업로드 일정이 어떻게 되는건지 알수있을까요?
@GD_Maker-p2p10 ай бұрын
선생님께서 이 댓글을 보실지는 모르겠지만, 정말 근본적인 의문입니다. CPU 내부에서 양수와 음수를 구별해줄 Flag라는 것이 존재한다면 그냥 십진수를 이진수로 나타낸 것에 플래그로 양수인지 음수인지 구별하면 되는데, 2의 보수법을 사용하는 이유가 무엇입니까? 양수와 음수를 구분하기 위해서 2의 보수법을 가져와 활용하는 것인데, 저런 플래그가 존재한다면 굳이 도입할 필요가 없는 거 아닌가요?
@None-nb6ez10 ай бұрын
덧셈 한번으로 하드웨어상 빼기 구현이 가능해요. 어느 수와 그 수의 10의 보수를 더하면 맨 앞자리를 제외하면 0이 됩니다.
@베이컨-f7o4 ай бұрын
2의 보수법을 가져와 활용하는 이유는 음수가 무엇인지 정의하기 위함이지 않나요? X의 음수를 무엇으로 정의할 것인가. X의 2의 보수를 X의 음수로 정의한거 같습니다. 제가 혼자 생각정리하기 위해 끄적여본 글입니다. ## 이진법 binary라고 한다. 이진법에 사용하는 숫자를 이진수라고 한다. 십진법은 decimal이라고 한다. 이진수에서 1000은 8이다. 제대로 표기하면 1000이 아니라 ob1000이다. ob를 붙이면 이진수이다. 이진수로 음수를 표현하는 것은 이야기할 게 많다. 십진수에서는 양수에 -만 붙이면 음수가 된다. 이진수에서는 0과 1로 음수를 표현해야한다. 0과 1로 음수를 표현하는 현대에서 가장 대표적인 방법은 2의 보수법이다 이거는 뭐냐면 어떤 수를 그보다 큰 2^n에서 뺀 값이다. 이렇게 구하는 게 더 쉽다. 모든 비트를 반전시킨 후 1을 더하면 2의 보수를 얻을 수 있다. 보수라는 건 무슨 뜻이냐 보수"라는 용어는 수학에서 원래 수에 더했을 때 특정 기준 수가 되는 값을 의미한다. 2의 보수법에서 특정기준 수는 2의 거듭제곱 수이다. 2의 보수법에서는 원래 수와 그 보수를 더했을 때 2^N이 된다. 100을 기준으로 할 때 1의 보수는 99인거야. 100을 기준으로 할 때 2의 보수는 98인거야. 4비트 시스템을 기준으로 할 때 ob11의 음수를 구해보자 4비트 시스템을 기준으로 한다는 건 4비트 시스템의 최대값이 1111이잖아. ob11은 0011이잖아. 음수라는 건 2의 보수를 구하라는 거잖아. 그러면 1111에서 0011을 빼고 ### 1의 보수 1의 보수라는 이름이 붙은 이유가 뭐냐 보수라는 건 원래수에 더했을 때 특정 기준수가 되는 값을 의미한다. 1의 보수에서 특정기준수는 모든비트가 1이 되는 값이다. X = 원래수 , Y = 1의 보수라고 하자. X + Y = 111111111...인거다. 예를 들면 0011의 1의 보수는 1100이다. 왜냐하면 0011과 1100을 더하면 1111이 되기 때문이다. ### 2의 보수 2의 보수라는 이름이 붙은 이유가 뭐냐 보수라는 건 원래수에 더했을 때 특정 기준수가 되는 값을 의미한다. 2의 보수에서 특정기준수는 최대 비트 수가 N일 때 2^N이 되는 값을 의미한다.(어렵지? 아래를 보면 쉽다) 즉, 4비트시스템에서 특정기준수는 16이다. 10000이다. 근데 4비트 시스템이라면 이때 오버플로우가 일어나 0000이 될 것이다. X = 원래수, Y = 2의 보수라고 하자. X + Y = 10000.....(이진수로는 1뒤에 모든 비트가 0이 되는 수) 예를 들면 0011의 1의 보수는 1101이다. 왜냐하면 0011과 1101을 더하면 10000이 되기 때문이다. 2의 보수는 1의 보수에 1을 더한 값이다.
@김형준-p8x3 ай бұрын
@@베이컨-f7o ㅇㄷ
@hj-br8cn3 ай бұрын
일단 보수가 필요한 이유는 덧셈과 뺄셈을 동일한 하드웨어로 처리하기 위함입니다. 강의에서 말씀해주신 FLG는 연산 후 결과 값이 음수인지, 양수인지에 대한 값을 나타내기에 사용되는 상황이 다릅니다. 추가적으로 메모리 상의 데이터가 보수인지 아닌지에 대해서는 데이터를 저장할 때의 데이터 타입으로 구분합니다. 예를 들면 C언어의 unsigned int로 선언되면 101은 5로 해석되는 것이고, int로 선언되면 101은 MSB에 따라 구분됩니다. 0101이라면 MSB가 0이므로 5, 1101이면 MSB가 1이므로 -3이 되는 겁니다.
@c945017382 жыл бұрын
진짜 궁금했던 건데 감사합니다🥺🥺
@GD_Maker-p2p10 ай бұрын
그리고 2의 보수의 사전적 정의 '어떤 수를 그보다 큰 2^n에서 뺀 값' 에서 '어떤 수'도 이진수이고 '2^n'도 이진수인거 맞는 거죠?
@GD_Maker-p2p10 ай бұрын
아 그 이진수로 표현된 숫자를 십진수로 보았을때 그 십진수보다 큰 2의 제곱수를 다시 이진수로 표현해서 기존의 수의 이진수를 자신보다 큰 2의 제곱수의 이진수에서 빼는 것을 2의 보수라고 하는군요. 그러니깐 1011(2) 는 십진수 11을 의미하고 이것보다 큰 2의 제곱수는 2^4=16이며, 이 16을 다시 이진수로 표현한 10000에서 11의 이진수 1011을 뺀 즉 10000-1011= 0101 이군요.
@기분좋은감2 ай бұрын
6:00
@tori5999 ай бұрын
선생님 근데 음수로 표현할때 3을 음수로 표현할려면 4에서 3을 빼서 1 이나오면 그냥 1이지 왜 01이 되나요? 그리고 1011이 잇으면 음수가 0101인데 왜 또 0이 붙나요?
@tori5999 ай бұрын
그러니까 100에서 011을 빼고싶으면 일단 011에 맨앞숫자를 제외하고 모두0인 100을 더하는거지. 그러면 100-011해서 01이 나오면 100에다가 그걸 더해서 101이 나오는거지. 근데 우리가 빼기위해서 100을 맘대로 더햇으니 가장 앞의 수는 무시하고 01만 가져가는거지~ 그리고 그게 100-011의 답이지. 근데 맨앞에 0은 그냥 아무때나 붙이는건가요? 근데 011을 뒤집으면 100이 되는데 앞에 0을 맘대로 붙이면 뒤집을때 수가 달라지자나요
@주주주주-f3n9 ай бұрын
21:00 1101이 왜 D이죠? ㅜㅜ
@h6_dr Жыл бұрын
보수에 대한 개념에서 "2^k - a = b" 라는 설명보다는 "a + b = 2^k" 라는 설명이 더 어울릴 수 있을 것 같습니다.(정확히는 모름)
@JoonkiLee-o6q2 жыл бұрын
이진수→십육진수, 십육진수→이진수 반대 (첫번째가 십육진수→이진수고 두번째가 이진수→십육진수) 아닌가요? 책에서도 첫번째 예를 십육진수를 이진수로 변환하기, 두번째를 이진수를 십육진수로 변환하기로 돼있는데 혹시나해서 댓글 남겨봅니다.
@jung3392 жыл бұрын
16진수를 2진수로 변환할떄 16비트가 필요한거 아닌가요?? 헷갈리네
@kangminchul2 жыл бұрын
4비트가 필요합니다. 4비트로 16개의 수를 표현할 수 있기 때문입니다.
@devlee-or4fr2 жыл бұрын
네트워크 강의는 안나오나요?
@where98102 жыл бұрын
감사합니다.
@충호-d1e Жыл бұрын
100에서 11을 빼면 어떤 원리로 01이 나오는 건가요? 아무리 생각해도 이해를 못하겠어서 설명부탁드립니다.
@kangminchul Жыл бұрын
100 - 011 = 100 + (-011) = 100 + 101 (2의 보수) = 10 (자리수 넘어가는 것은 무시) 그리고 A - B = C 일때 A = B + C 잖아요. 반대로 01과 11을 더해보세요. 100이 나옵니다.
@충호-d1e Жыл бұрын
@@kangminchul 11인데 앞에 011로 붙이는 건가요? 그리고 011에서 101로 바뀌는 부분 또한 설명부탁드리고 싶습니다.아직 개념이 안잡혀서 설명해주신 부분에 이해하기 어려운 부분들이 많이 따릅니다.
@kangminchul Жыл бұрын
@@충호-d1e 01과 1이 같고 005와 5가 같듯 0을 붙일 수 있습니다. 그리고 011이 101로 바뀌는 과정은 2의 보수 표현으로 강의에서 자세히 설명하고 있으니, 강의를 참고 바랍니다. (모든 0과 1을 뒤집고 1 더하기, 011 => 100 => 101)
@충호-d1e Жыл бұрын
@@kangminchul 혹시 011에서 1을 두번씩 따로 더하면 101이 되는데 이렇게 생각해도 될까요?
@우이천 Жыл бұрын
11 + 1 = 100 이라는 것은 이해 하셨나요? 11의 다음의 이진수는 100입니다. 그래서 100 - 11 = 1는 자명합니다.