[TIL] 2022-01-03

nathan·2022년 1월 3일
0

TIL

목록 보기
1/34

CS10 진법 변환기

디지털 논리 회로

  • 릴레이(relay) : 쉽게 말해 스위치, 흔히 낮은 전압/전류를 이용하여 더 높은 전압/전류를 제어하는데에 많이 사용

    1 - true - 참
    0 - false - 거짓

  • 1) AND 게이트 : 두 개의 입력이 모두 true일 때만 true를 반환
  • 2) OR 게이트 : 두 개의 입력 중 하나만 true라면, true를 반환
  • 3) INVERTOR 게이트(NOT 게이트) : 입력의 반대를 출력한다(ex. true시 false 반환)
  • 4) 확장 게이트
    • (1) NAND 게이트 : AND 게이트에 NOT을 붙인 것과 동일.
    • (2) NOR 게이트 : OR 게이트에 NOT을 붙인 것과 동일.
    • (3) XOR 게이트 : 두 개의 입력이 서로 다를 때에만 true를 반환
ABXORANDORNAND
truetrueFTTF
truefalseTFTT
falsetrueTFTT
falsefalseFFFT

가산기 구현

  • 1) 반가산기 (half-adder)
    • 두 개의 입력을 받아 합과 올림 수를 출력한다. (가장 아래 자릿수만 계산이 가능함)
  • 2) 전가산기 (full-adder)
    • 두 개의 입력 뿐만 아니라 이전에 있는 올림수를 함께 받아 합과 올림 수를 출력한다.

진법 변환기 구현(리틀 엔디안 ver.)

  • 10진법 -> 2진법
  • 2진법 -> 10진법
  • 10진법 -> 2진법 -> 16진법

리틀 엔디안 vs 빅 엔디안

장점
리틀엔디안
→→→→→
수학적 연산이 쉽다.
빅엔디안
←←←←←
숫자 비교에 유리하다.(맨 앞 숫자로 비교 가능하기 때문)
소프트웨어 디버그가 편하다.
(사람이 읽는 순서와 동일하게 저장이 되기 때문에 디버깅 과정에서 메모리 값을 보기 편함)

하루를 마치며.

  • 처음에는 Java에 익숙치 않아서 긴장도 많이 하고, 제 시간에 제대로 제출을 할 수 있을까 걱정이 많았지만, 차근차근 해낼 수 있어서 뿌듯했다.(물론 코드가 정갈하고 완벽하지는..)
  • 코드스쿼드 마스터즈 코스(백엔드 클래스)에서 처음으로 사람들과 ZOOM에서 소회의실을 통해 함께 공부를 했는데, 처음이라 말이 많이 없고, 채팅으로 대화를 했지만, 서로의 어려움이나 궁금증에 대해 정성껏 답변을 해주는 모습에 감동했다. 나도 그 분들처럼 내가 아는 것에 대해서 꼭 잘 알려줄 수 있도록 해야겠다!
  • 앞으로 약 1달동안은 CS10을 통해 CS 지식에 관하여 전반적으로 학습할 예정이다. 이 과정이 가장 지루하다고 하지만 오늘 경험해 본 바로써는 CS지식 뿐만 아니라 Java에 대한 숙련도 또한 늘어날 수 있을 것 같아 기대되고 설렌다.
  • 코드스쿼드 코딩 테스트 이후로 gist를 오랜만에 만져봤는데, 역시나 당황해서인지 push 오류가 떴다. 알고보니 directory 단위로는 gist에 push가 안되는 것이었는데, 까먹고 있었다.. 그래도 오늘 제대로 해놨으니 다음 번 할 때는 잘 할 수 있겠지!
  • 오늘 랜덤으로 백엔드 3분 회고록 이번주 담당이 됐는데, 시작한지 얼마 되지 않아 이런 직책(?)을 맡게되어 조금은 부담스럽지만, 그래도 뭔가 한다는 느낌이 들어 좋았다 ㅎㅎ. 열심히 할 일은 없지만, 그래도 최선을 다해야지..!
  • 여담이지만, 백엔드 마스터이신 호눅스님을 보면 항상 기분이 좋다. 항상 웃으시면서 나름(?) 재밌는 애드립을 던지시는데 혼자 깔깔대기 바쁘다 ㅎ..
profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

0개의 댓글