반응형

IT 프로그래밍 376

[논리회로] 2진수 음수 표현법 부호의 절대치 1의보수, 2의보수

0000(2) = 0 0001(2) = 1 0010(2) = 2 0011(2) = 3 0100(2) = 4 ⋮ 1110(2) = 14 1111(2) = 15 이것이 2진수의 표현법입니다. 하지만 이런 2진수에서큰 문제점이 하나 있다면 바로 음수의 표현법인데요. 음수를 표현하기에 애매합니다. 그래서 음수를 표현할 때에는 총 3가지 방법을 쓰는데요. 바로 부호의 절대치와 1의보수, 2의보수가 있습니다. 부호의 절대치 부호 비트만 양수와 음수를 나타내고 나머지 비트들은 같습니다. 5의 절대치는 다음과 같습니다. 5(10) = 0000 0000 0000 0000 0000 0000 0000 0101(2) 여기에서 -5를 표현하고 싶다면 최상위 비트가 0일때는 양수, 1일때는 음수를 사용합니다. -5(10) = 1..

[논리회로] 진법(2진수, 16진수, 8진수, 10진수)

진법 소개 10진수 2진수 8진수 16진수 0 0000 00 0 1 0001 01 1 2 0010 02 2 3 0011 03 3 4 0100 04 4 5 0101 05 5 6 0110 06 6 7 0111 07 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 이런식으로 각 진법을 바꿔줄 수 있습니다. 8진수는 0~7까지의 8개의 수로 표현을 한 것이며 16진수는 0~9 그리고 A~F까지의 16개의 기호로 표현한 것입니다. 각 진수의 변환 1) 2진수 - 10진수 간 상호 변환 2진수의 각 비트별 가중치를 구하여 모두 더한다. ex) 110010.011 = 1 * 2^5..

[이산수학] 조건문의 진리표 p -> q의 진리표

p q p -> q T T T T F F F T T F F T p -> q의 진리표를 처음부터 완벽히 이해하는 사람은 없을 것입니다. p가 F면 q의 진리값과 상관없이 왜 p -> q는 t일까? 이런 질문을 할 것으로 보이는데요. 논리학에서는 전제가 거짓이면 결론의 값과 상관없이 참이라고 간주합니다. 모든 명제는 참이거나 거짓입니다. p -> q의 진리값도 반드시 참 혹은 거짓이어야 하는데요. 하지만 가정부터 거짓이라면 우리는 결론을 단정지을 수 없습니다. 하지만 이런 경우라도 반드시 진리값은 정해져야 하기 때문에 이를 우리는 T로 하자고 약속을 한 것입니다. 예시 P : 내일 비가 오면 Q : 소풍을 가지 않는다. 이런 조건문이 있습니다. p -> q는 참인 것을 아실 수 있을 것입니다. 그런데 내일 ..

[이산수학] 역, 이 , 대우

논리적 동치 -p와 q가 n개의 명제들 p1,p2....pn으로 구성된 복합명제라고 하자. p1,p2,...pn의 어떤 진리값들이 주어졌을 때, 두 복합 명제 p와 q가 항상 같은 진리값을 가질 경우, p와 q는 논리적 동치라고 한다. p ≡ q or pq 라고 표기한다. 명제의 역, 이, 대우 p -> q에서 조건 p를 가정, 조건 q를 결론이라고 합니다. p와 q를 바꾸면 q -> p가 되는데 이것을 명제의 역이라고 합니다. p -> q를 부정하면 ~p -> ~q가 되는데 이것을 명제의 이라고 합니다. 가정과 결론도 바꾸고 부정도 하면 ~q -> ~p 가 되는데 이것이 바로 명제의 대우입니다. 예시 p : 날씨가 맑아지면 q : 소풍을 간다. 역 ( q -> p) : 소풍을 가면 날씨가 맑아진다. 이..

[이산수학] 명제 조건명제 진리지표 필요조건 충분조건

명제 - 참 또는 거짓 중 하나로 파정될 수 있는 선언적 문장 - 논리학의 기본 구성 요소 p와 q가 명제이면 논리연산자를 사용하여 새로운 복합명제를 만들 수 있다. 논리연산자는 명제연산자 혹은 불리언 연산자라고 불리며, 피연산자로서 명제 혹은 진리 값을 취한다. 조건명제( conditional proposition ) -또는 함축 -if p then q, p onlty if q -in symbols p -> q - p 가설 - q 결론 조건명제 진리지표 조건명제는 참 많은 분들이 헷갈리는 것인데요. 구분 P Q P -> Q 1 T T T 2 T F F 3 F T T 4 F F T 2번 빼고 다 true가 나오는 것을 보실 수 있습니다. [예시] 만약 고등학생이면 야자를 한다. p : 고등학생이다. q ..

[따배시 7.1 ~ 2 ] 매개변수와 실인자의 구분, 값에 의한 전달

#include using namespace std; int foo(int x, int y); int foo(int x, int y) { return x + y; } int main() { int x = 1, y = 2; foo(6, 7); foo(x, y + 1); } foo(6,7) 이렇게 사용할 수도 있으며 이는 argument라고 부르며 실인자라고 부르기도 합니다. (actual parameters) 이렇게 x라는 변수를 직접 넣으 수도 있습니다. x=1이라는 값을 받아서 매개변수 x로 전달이 됩니다. 항상 x에 있는 값만 여기로 전달이 되는 것은 아닙니다. y+1에서는 2 에서 1을 더하면 3이듯이 3이라는 값이 argument고 이 argument가 y parameter로 전달이 되는 것입니다..

참조에 의한 호출 c++

불필요한 부분을 잘라낼 때 trim을 하기 때문에 함수 이름을 trim이라고 합니다. #include #include #include #include #include #include using namespace std; int main() { ifstream infile("input35.txt"); string str; vector words; while (infile >> str) { str = trim(str); if (str.length() > 0); { tolowercase(str); auto it = find(words.begin(), words.end(), str); if (it == words.end()); words.push_back(str); } } infile.close(); for (..

[C++] 백준 2941번 크로아티아 알파벳

https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 코드 #include #include #include #include using namespace std; int main() { vector croatian = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=" ,"z=" }; string n; cin >> n; int idx; for (int i = 0; i < croatian.s..

반응형