본문 바로가기

분류 전체보기62

[Dart] 기본 문법 정리 0. 문장은 세미콜론으로 끝난다. 1. 주석 한 문장 - // 여러 문장 - /**내용**/ 문서 - /// 2. 변수 2.1. 타입 명시 하기 기본 제공 자료형(Data Type)에는 int, double, String, bool 이 있음. 사용자 정의 자료형 사용가능. int, double은 num으로 선언 가능함. 2.2. 타입 명시 안 하기 변수 선언 시 type 명시하지 않고 var로 대체 가능함. 일반적으로 많이 사용. 2.3. 상수 (값이 변하지 않는 경우) 앞에 final, const 붙이기 3. 연산자 3.1. 산술 연산자 +, -, *, /, ~/(몫), %(나머지)가 있으며, +의 경우 String concat(문자열 붙이기)에도 사용 가능함. 3.2. 증감 연산자 ++, -- 식 앞.. 2023. 4. 1.
3. 컴퓨터 산술과 논리 연산 (2) - Read Me는 읽어보셨나요? - 2023.02.17 - [HakBu Review (학부)/Computer Architecture] - Read Me ● 시프트 연산 - 논리적 시프트(Logical Shift) 레지스터 내의 데이터 비트들을 한 방향으로 한 칸씩 이동시키는 것을 말함. 좌측 시프트 : 비트들이 왼쪽으로 한 칸씩 이동되고 맨 우측 비트로 0이 들어옴. 맨 좌측 비트는 버림. 결과값이 원래값에 2를 곱한 것과 같음. 우측 시프트 : 비트들이 오른쪽으로 한 칸씩 이동되고 맨 좌측 비트로 0이 들어옴. 맨 우측 비트는 버림. 결과값이 원래값에 2를 나눈 것과 같음. - 순환 시프트(Circular Shift, Rotate) 논리적 시프트와 근본적으로 같지만, 기존에 버려졌던 비트가 반대편 끝.. 2023. 2. 26.
3. 컴퓨터 산술과 논리 연산 (1) - Read Me는 읽어보셨나요? - 2023.02.17 - [HakBu Review (학부)/Computer Architecture] - Read Me ● ALU의 구성 요소 1. 산술연산장치 : 산술 연산 수행 2. 논리연산장치 : 논리 연산 수행 3. 시프트 레지스터 : 비트들을 좌측 혹은 우측으로 이동시키는 기능을 가짐 4. 보수기 : 2의 보수를 취함 5. 상태 레지스터 : 연산 결과의 상태를 나타내는 플래그들을 저장 ● 정수의 표현 2진수 체계를 사용함. ex) -13.625(10) = -1101.101(2) 컴퓨터가 데이터를 저장,처리하는 과정에서 부호와 소수점을 사용할 수 없기에, 부호 또한 0,1을 사용해야하며, 소수점도 특정 위치에 있는 것으로 가정하여 표현하게 됨. 2진수 A를 최상위.. 2023. 2. 23.
2. CPU의 구조와 기능 (3) - Read Me는 읽어보셨나요? - 2023.02.17 - [HakBu Review (학부)/Computer Architecture] - Read Me ● 명령어 세트 명령어 세트(Instruction Set) : CPU를 위해 정의되어 있는 명령어들의 집합, CPU마다 약간씩 다름. - 명령어 세트 설계를 위한 고려 사항 : 연산 종류, 데이터 유형, 명령어 형식, 주소지정 방식 1. 연산의 종류 필수적인 연산으로는 데이터 전송, 산술 연산, 논리 연산, 입출력, 프로그램 제어(분기, 서브루틴 호출 등)가 있음. 2. 데이터 유형 이후 자세히 설명 3. 명령어 형식 명령어는 CPU에 의해 실행될 때 제공해야 할 모든 정보를 포함 해야 함. 또한 명령어는 일련의 비트로 표현되고 용도에 따라 몇개의 필드.. 2023. 2. 21.
[BOJ] [5557] 1학년 (Python) 내 해답) import sys; ip = sys.stdin.readline N = int(ip()) nl = list(map(int,ip().split())) #입력 받기 before = {0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0} after = {0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0} before[nl[0]] = 1 #초기 세팅 for i in range(1,N-1): #N번 반복 q = [k for k,v in before.items() if .. 2023. 2. 20.
2. CPU의 구조와 기능 (2) - Read Me는 읽어보셨나요? - 2023.02.17 - [HakBu Review (학부)/Computer Architecture] - Read Me ● 명령어 파이프라이닝 명령어 파이프라이닝(Instruction Pipelining) : 명령어를 실행하는데 사용하는 하드웨어를 독립적인 단계(stage)들로 분할하고, 그들로 하여금 동시에 서로 다른 명령어들을 처리하도록 함으로써 CPU 성능을 높여주는 기술. - 2단계 파이프라이닝 : 인출 단계와 실행 단계로 나누어 구성 명령어가 실행되는 동안 다음 명령어가 인출되고, 다음 명령어가 실행되는 동안 그 다음 명령어가 인출되는 식으로 진행됨. 다음에 실행될 명령어를 미리 인출하는 것을 명령어 선인출(Instruction Prefetch) 혹은 인출 중복.. 2023. 2. 20.