전체 글 102

C# in 키워드

in 키워드는 여러 맥랙에 사용되며 각 맥락마다 의미가 다르다.in 키워드를 사용하는 대표적인 예 : 매개변수 , foreach 문 , 제네릭 타입 매개변수 ① 메서드의 매개변수에서 사용메서드 매개변수에서 사용되는 in 키워드는 매개변수를 읽기전용으로 전달하기 위해 사용된다.이때 전달되는 매개변수는 참조를 전달하게 된다.public class TestClass{ int _myData; public void Test(in int m_data) { _myData = m_data; // 가능 Console.WriteLine(m_data); // 가능 m_data = 3; // 불가능 , 컴파일 에러 }} 매개변수가 값형식인데 in 키워드..

C# 2024.07.14

2의 보수

이전글 컴퓨터의 사칙연산 (보수법의 필요성)컴퓨터는 compute 계산을 해주는 기계라고 설명했다.대표적인 계산이라 하면 사칙연산인 덧셈, 뺄셈, 곱셈, 나눗셈이 있다. 허나 컴퓨터는 연산의 효율성과 설계의 단순화를 위해모든 연산을 덧kark.tistory.com 보수법을 통해 뺄셈 연산 시 보수를 얻는 과정을 알게 되었다. 그럼 이제 컴퓨터가 사용하는 이진수의 보수법을 알아보자.① 모든 수를 뒤집는다. (1의 보수법)② +1 해준다. (2의 보수법) 위처럼 간단하다. -3 의 경우0011 => 1100 => 1101 로 2의 보수를 통해 표현할수 있다. 좀 더 궁금했던 부분이1의 보수 과정에서 끝나는게 아니며 +1의 과정이 필요하지?왜 2의 보수를 사용해야하는거지?라는 의문점이 생겼다. 정답은 0 값 ..

CS 2024.07.14

컴퓨터의 사칙연산 (보수법의 필요성)

컴퓨터는 compute 계산을 해주는 기계라고 설명했다.대표적인 계산이라 하면 사칙연산인 덧셈, 뺄셈, 곱셈, 나눗셈이 있다. 허나 컴퓨터는 연산의 효율성과 설계의 단순화를 위해모든 연산을 덧셈으로 처리한다. 덧셈은 그냥 그대로 이진수 덧셈을 진행하면 쉽게 결과를 얻을 수 있다. 곱셈은 그저 덧셈을 여러번 진행한것과 같다. 그렇다면 뺄셈은 덧셈으로 어떻게 빼기를 하게 될까 (나눗셈의 경우 빼기를 여러번 진행..) 인간의 10진법의 개념으로 앞 수의 빌리는 과정을 필요로 하게 되면 연산 속도와 효율성이 많이 떨어지게된다.이진수 11 - 6 = 5 의 연산과정을 만약 빌림과정을 통해 연산하게 되는경우 다음 그림처럼 진행될것이다.  그렇기에 보수법이라는 개념을 반영하게 된다.' 보수란 특정 수를 만들어 주기위..

CS 2024.07.14

고정 소수점, 부동 소수점

현재 잘못된내용 현재 잘못된내용 현재 잘못된내용 현재 잘못된내용 현재 잘못된내용  컴퓨터에서는 소수점이 있는 숫자를 표현하는데 두가지 방법이 있다.각각의 방법은 데이터의 범위, 정밀도, 연산 속도 측면에서 다른 특성을 갖고 있으므로개념을 이해하고 적합한 방법을 선택하는것이 좋은 선택이 될 수 있다. 고정 소수점 고정 소수점 표현은 소수점이 말그대로 고정되어 있음을 의미한다.정수부분, 소수 부분의 비율이 미리 정해져 있어 소수점의 위치가 고정되는 것이 특징이다. 예를 들어 고정소수점이 32bit 고정 소수점에서는0 0000000 00000000 00000000 00000000 0 = 부호비트로 0이면 양수 1이면 음수를 의미한다.0 = 빨간비트영역은 정수부분을 의미한다. (15bit)0 = 파란부분은 소..

CS 2024.07.09

16진수 표기는 어디에 사용될까

2진수를 거의 16진수로 바꿔서 표기한다고 했다.그럼 어디에서 16진수가 사용될까?  1. 색상표현모니터에 나타나는 빛의 3원색 그림이다.각 R,G,B를 보면 0부터 255까지 수치 입력이 가능한것 같다.10진수의 값을 256가지 대입해볼수 있다는 내용이다. 255의 값을 이진수로 변환해보면 1111 1111의 값이 나온다.그렇다는것은 각 색상별로 8bit로 구분되어 있다는 얘기다.이를 16진수로 변환해보면 빨강색상은 FF 00 00 의 값이 된다. 아래의 색상표에서 해당 16진수값을 대입해주면 순수 빨간색상이 표기된다. 2. 메모리 표현  왼쪽은 메모리주소는 16진수를 표현하고, 오른쪽은 각 메모리 주소의 데이터를 16 진수로 표기된상태이다.

CS 2024.07.01

bit 비트란

1비트란 전기스위치 하나를 의미한다.컴퓨터는 이진수를 사용하기 위해 이와같은 비트를 사용한다. 스위치가 꺼져있어 전류가 통하지 않는상태를 0 스위치를 켜서 전류가 통하는 상태를 1로 표현한다. 이러한 이진수 0과 1을 다뤄 무언가를 하는것을 디지털 이라고한다. 1비트는 전기 스위치하나라고 한다면스위치가 켜저 전류가 연결된 상태 와 스위치가 꺼져 연결이 끊긴상태2¹ 로 2가지 상황을 하나의 조합으로 2가지 표현이 가능하다. 만약 전기 스위치를 조합하여 4개를 연결한 4bit 가 있다고 보면1001 과 같은 표현처럼 2⁴ 로 총 16개의 표현이 가능하다. 4bit 라면 16 이라는 수가 바로 생각나게끔 인지할 필요가 있다.

CS 2024.06.28

데이터 - 0과 1로 문자를 표기하는 방법

컴퓨터는 0과 1만 사용하는데 어떻게 문자를 표현할 수 있는지 알아보자. 컴퓨터가 사용자와 문자로 소통하는데 있어 가장 중요한것은 문자 집합(character set)이다.컴퓨터가 이해할 수 있는 문자의 모음으로 이 테이블을 기반으로 각 문자를 숫자로, 숫자를 문자로 인식할 수 있는 기반이 된다. 대표적인 문자 집합으로는 ASCII, Unicode가 있다. 문자에서 숫자로 변환하기 위해 문자를 코드화 하는 인코딩숫자에서 문자로 변환하기 위해 숫자코드를 해석하는 과정의 디코딩 의 용어가 있다. ASCII초창기 문자 집합 중 하나로 알파벳, 숫자, 일부 특수문자, 제어문자 사용이 가능총 7비트로 2의 7승 인 128개의 문자를 표현할수 있다. 비교적 간단한 인코딩방식이지만 알파벳을 제외한 더 다양한 문자를 ..

CS 2024.06.26

데이터 - 0과 1로 숫자를 표기하는 방법

컴퓨터는 0과 1로만 모든 데이터를 표기한다 라는 얘기를 많이 들어봤을것이다.컴퓨터는 이진수 체계를 사용해 데이터를 표기하며 각각의 비트는 두 가지 상태 중 하나를 가진다. 컴퓨터가 이진수를 사용하는 방법은 전기 신호를 사용하여 표현하게 되는데일반적으로는 전압이 높은상태는 1을 표현하며 반대로 전압이 낮은상태는 0을 표현하게 된다. 그럼 0과 1로만 어떻게 3, 7 같은 1보다 큰수를 표현할 수 있을까?1비트는 이진수의 한자리 숫자, 0 이나 1 로 구성된 한자리 숫자로 가장 작은 데이터 단위이다.1비트의 경우 0 이나 1로 두가지 표현이 가능하다. 만약 2비트의 경우 00, 01, 10, 11 총 4개의 표현이 가능하며3비트의 경우 8개, 4비트의 경우 16개 와 같은 등비 수열의 표현수를 갖게된다. ..

CS 2024.06.24

시스템 버스

컴퓨터는 주요 구성요소(CPU,메모리,입출력 장치) 간에 데이터를 전달하는 통로다.시스템버스는 CPU와 다른 구성요소간의 통신을 통해 전체적인 시스템 효율을 높이기 위함을 목적으로 둔다. 주요 버스는 주소 버스, 데이터 버스, 제어 버스가 있다. 주소 버스CPU가 메모리나 입출력 장치의 특정 위치를 지정할 수 있게 하는 통로이다.주소 버스의 폭은 CPU가 주소 지정할 수 있는 메모리의 최대 용량을 결정한다.32비트 주소버스는 최대 4GB의 메모리 주소 지정이 가능하며 64비트는 그 이상의 메모리 주소를 지정할 수 있다.이 주소 버스는 단방향으로 CPU가 주소를 지정하고 메모리나 입출력 장치 찾아가기만 하면 되기 때문이다. 데이터 버스시스템 구성 요소 간 실제 데이터를 전송하는 통로이다.데이터 버스의 폭은..

CS 2024.06.23

주기억장치 메모리 RAM

Random Access MemoryRAM 이란 데이터를 기록할 수 있는 임시 기억장치로 디스크파일에 자료를 저장하거나 읽을 때찾는 자료가 있는 위치를 순차적으로 찾아가지 않고 어느 특정위치에 직접 자료를 검색하고 저장하는 법을 의미한다. 램은 CPU를 돕는 보조기사의 역할로 보면 되겠다.만약 특정 프로그램을 실행시키게 되면 해당 프로그램의 데이터와 명령어들을 일시적으로 저장해 두었다가CPU의 요청으로 필요한 작업을 빠르게 도와주는 역할이라 생각하면 되겠다. 이때 데이터를 접근하는 방식도 알아둘 필요가 있다.램의 데이터를 담아두는 구조는 아파트처럼 수직구조로 형태가 이루어져 있다고 보며,CPU에서 3층의 작업이 필요하다고 할때 1,2,3 층 순으로 접근하는게 아닌바로 3층으로 접근하여 빠르게 데이터를 접..

CS 2024.06.22