728x90

2024/04 21

C# 컬렉션, 제네릭, 널(null), LINQ

컬렉션의 종류 컬렉션 관련 여러 클래스(Stack, Queue, ArrayList)Array 클래스 Array 클래스 제네릭LINQ컬렉션의 종류 배열(Array) : 일반적으로 숫자와 같이 간단한 데이터 형식을 저장한다.리스트(List) : 간단한 데이터 형시을 포함한 개체들을 저장한다.사전(Dictionary) : 키와 값의 쌍으로 관리되는 개체들을 저장한다. 배열(Array) : 정수형, 문자열 등의 집합을 나타낸다.컬렉션(Collection) : 개체들의 집합을 나타낸다. 리스트, 집합 ,맵, 사전도 컬렉션과 같은 개념으로 사용된다. - 난수 배열 생성 및 정렬using System;using System.Collections.Generic;using System.Linq;using System.T..

디지털 논리회로 설계 - 가산기, 인코더, 디코더, 멀티플렉서, 7_Segment

기본 논리게이트에 대한 내용 (NOT, AND, OR, NAND, NOR XOR)https://insoobaik.tistory.com/576 기본 논리 게이트 설계 (아두이노 IC Chip, Code 구현, C언어 Code 구현)보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.com가산기4bit 병렬 가산기 (7483)전감산기디코더 (74138)인코더Multiplexer7-Segment가산기, 감산기, 디코더, 인코더, 멀티플렉서, 7_Segment (C언어)가산기 가산기 : 숫자나 다른 이진수를 더하는데 사용되는 디지털 논리 회로다. 일반적으로 이진수를 더하는 용도로 사용되며, 덧셈 연산을 수행한다. Sum : A와 B의 합을 나타낸다. XOR 게이트로  ..

C# - 문자열 / 예외 처리

문자열 문자열 관련 주요 속성 및 메서드 속성 및 메서드 설명 Length 문자열의 길이값 반환 ToUpper(0 문자열을 모두 대문자로 변환 ToLower() 문자열을 모두 소문자로 변환 Trim() 문자열의 양쪽 공백 잘라냄 Replace(원본문자열, 대상문자열) 원본문자열을 대상문자열로 변경 Substring(문자열인덱스, 길이) 지정된 문자열 인덱스부터 길이만큼 반환 String 클래스 Length Length 속성을 사용하여 문자열의 길이를 구할 수 있다. Concat() Concat() 메서드로 문자열을 연결할 수 있다. > string s1 = "백" + "인수."; > string s2 = String.Concat("백", "인수."); > $"{s1} {s2}" "백인수. 백인수." To..

C# - 코딩 연습 / 1. Lotto 제작 / 2. 가위바위보 게임

Lotto 제작 아래 코드는 6개의 무작위 숫자를 입력 받아 로또 당첨을 시뮬레이션 해보는 코드다. 실제 로또 방식과 동일하게 6개 전부 맞추면 1등, 5개 + 보너스를 맞추면 2등, 5개를 맞추면 3등, 4개를 맞추면 4등, 3개를 맞추면 3등을 표시한다. Random 클래스를 이용하여 6개의 로또 번호를 생성하고, 보너스 번호를 추가로 하나 생성한다. for 혹은 foreach문을 통해 무작위 6+1개의 숫자와 사용자가 입력한 6개의 숫자를 비교한다. * 중복을 확인하기 위한 변수(flag)와 입력받은 숫자를 임시로 저장하여 비교하기 위한 변수(temp)를 생성하여 사용하는 것이 코드 작성에 좋다고 생각한다. temp에 입력 받은 숫자를 넣고, 중복 검사를 받은 뒤 통과가 되면 (flag 값을 통해 ..

C - 헷갈리는 개념 정리

변수, 문자열 차이 C언어에서 문자열은 배열로 선언되었을 때 이미 메모리 주소를 가지고 있다. 이는 배열 이름 자체가 해당 배열의 첫번째 요소를 가리키는 포인터로 해석되기 대문이다. 때문에 문자열 입력 시 &를 문자열 변수에 붙이지 않는다. 반면에 변수는 메모리 주소가 아니라 값 그 자체를 의미하므로 입력을 받을 때 &를 붙여 해당 변수의 주소값을 전달해야 한다. 지역변수, 전역변수 지역 변수는 함수 내에서만 생성되고, 전역 변수는 프로그램이 처음 실행되면 메모리 공간에 할당되어서 프로그램이 종료될 때까지 메모리 공간에 남아있는 변수다. 함수 내에 static을 사용할 수 있는데 이는 지역변수의 특징과 전역변수의 특징을 함께 가지고 있다.함수 내에 static을 붙이게 되면1. 선언된 함수 내에서만 접근..

Synopsys - Synthesis 합성

Synopsys를 통해 Synthesis 합성을 하기 위해서는 1. verilog-HDL .v 파일 2. 게이트 정보가 담긴 .db 파일 3. .sdc 파일 혹은 제약 정보가 필요하다. remove_design -all //초기화 set FILE "counter" //모듈명 선언 set synthetic_library "../LIB/DBH_1225RS13SD_GEMV1P8V_FF_1P32V_M40C.db" //라이브러리 위치 지정 및 파일 지정 //db 파일을 넣어줘야 한다. set search_path "../LIB/" set target_library "../LIB/DBH_1225RS13SD_GEMV1P8V_FF_1P32V_M40C.db" //타겟 라이브러리 지정 및 파일 지정 //db 파일을 넣어줘..

C# - 클래스

정적(Static)과 인스턴스(Instance) 자주 사용되는 내장 클래스 또 다른 exe 파일 실행하기 액세스 한정자 값 형식(Value Type)과 참조 형식(Reference Type) 박싱(Boxing)과 언박싱(Unboxing) 정적(Static)과 인스턴스(Instance) Static을 붙이면 객체 생성 필요없이 해당 클래스 내부에 있는 메서드를 사용할 수 있다. 그냥 Instance 메서드의 경우 해당 클래스의 객체를 생성한 뒤 해당 메서드를 사용해야 한다. static / instance 코드 예제 using System; class MyFirstClass { static void StaticMethod() => Console.WriteLine("[1] 정적 메서드"); void Inst..

C# - 구조체 / 열거형

구조체란? 기존의 변수와 배열은 하나의 이름으로 하나의 데이터 형식을 가지고 공간을 차지했다. 구조체란 변수와 배열을 확장하여 하나의 이름으로 여러 개의 데이터 형식을 한 개 또는 여러 개 보관하는 그릇 역할을 하는 것이 바로 구조체(struct)이다. 구조체 변수란 하나의 이름으로 하나 이상의 데이터 형식을 하나 보관해 놓는 그릇 역할이고, 구조체 배열은 하나의 이름으로 하나 이상의 데이터 형식을 여러 개 보관해 놓는 그릇 역할을 하는 것으로 볼 수 있다. 1. Data Type 정의 2. 해당 Type의 변수 선언 3. 해당 구조체 사용 구조체 선언 모양 struct 구조체명 { 데이터형식 변수1; 데이터형식 변수2; 데이터형식 변수3; } 구조체를 의미하는 struct 키워드를 사용하여 구조체를 만..

PCB - up_down_controller 설계 4 (PCB 설계)

Design 탭 - Shapes 탭 Gerber 설정 ▶ Thru pins (스루홀의 단열판 연결 타입) : Orthogonal ▶ Minimum connects (단열판의 최소 연결선의 수) : 1 ▶ Use fixed width oversize of (단열판과 네트 사이의 연결선의 두께 설정) : 0. Grid 설정 Non-Etch의 경우 보드 외각선등 동박 영역 이외의 작성 시 사용되는 Grid이며, All Etch(TOP, BOTTOM)의 경우 전기적 접속을 이루는 동박 영역에서의 작업 Grid, 즉, 배선, 카퍼 작업 시 Grid를 설정할 수 있다. Layer 설정 보드외곽선 생성 - 기구 홀 및 주요 부품 배치하기 주요 부품 배치 - 치수보조선 치수보조선 그리기 - 실크 데이터 작성 Text ..

PCB - up_down_controller 설계 3 (FootPrint, Via Pad 설계 / PCB Footprint 확인 및 설정 / Netlist 파일 생성 및 import)

Via Pad 전원네트의 Via Hole / Via Pad : 0.5mm / 0.8mm 그 외 네트의 Via Hole / Via Pad : 0.3mm / 0.5mm Routing 작업을 위한 via_power pad 생성 Routing 작업을 위한 via 생성 Footprint 확인 C:/Cadence/SPB_17.4/share/pcb/pcb_lib/symbols 해당 경로에 .dra 즉 Footprint 파일들이 저장되어 있고 Package symbols를 통해 Footprint를 확인할 수 있는 경로다. 위와 같이 이전에 생성한 FootPrint 들이 생성되어 있는 것을 확인 할 수 있다. PCB Footprint 설정 capture CIS에서 작업한다. (이전에 작업한 Capture CIS 파일을 ..

728x90