본문 바로가기
관리자

Computer Science/Introduction

(20)
2. 컴퓨터 내부의 언어 체계 - 비트와 실수, 텍스트 표현 1. 비트와 실수 소수는 비트로 어떻게 표현할까? 2진수를 기반으로 하기 때문에 밑을 2로 지정해야된다는 문제가 있다. 그리고 2 단위로 끊어서 표현해야되기 때문에 특정 소수는 무한대로 확장되어 정확하게 표현할 수 없다는 문제가 생긴다. 아래 예시들을 통해 이해해보자 소수점 아래 수 표기 방법 원래 정수 부분은, 예를 들어 10진수 3은 아래와 같이 표기했었다. 소수점 아래 단위는 10진수와 마찬가지로, 2진수도 지수 부분에 음수값을 넣어주면 표현이 된다. 문제1과 2의 내용을 보자. 문제 1) 10진수 0.5는 2진수로 어떻게 표시할까? 정답은 0.1이다. 실수부인 0을 0. 으로 표기해주고, 소수부인 5 부분을 아래와 같이 생각하면 된다. 그냥 쉽게 생각해보면 0.5 = 1/2 이다. 문제 2) 10..
1. 컴퓨터 내부의 언어 체계 - 비트와 논리연산, 정수 1. 언어란 무엇인가 언어는 기호의 집합으로 구성된다. 그리고 언어가 제대로 작동할려면 의사소통하는 당사자들이 모두 같은 문맥(context)를 공유해야한다. Toto 라는 단어는 '오즈의 마법사'에 나오는 개를 뜻하기도 하지만 변기를 생산하는 일본 기업을 뜻할 수도 있다. 많은 프로그래밍 언어에서 context를 사용하는데, 이런 개념을 알고 이해하면 이해가 더 쉬운 것 같다. 예를 들어 자바 스프링에서는 context에 bean들을 저장하는데, 이것은 특정 객체 안에서 사용할 다른 객체의 정확한 뜻을 저장해놓는 것이라고 생각하면 도움이 될 것 같다. moneyTransferService라는 계좌이체 객체 속에서 accountRepository라는 저장소 객체가 userAccountRepository ..
2. 컴퓨터의 정보 표현 1. 비트와 정보량 컴퓨터는 0과 1로 이루어진 Bit 단위로 정보를 표현한다. 즉, 현실에서의 정보량을 표현하는 최소 기본 단위가 Bit인 것이다. -byte는 8bit로 알파벳 한 글자를 나타낼 수 있는 크기이다. KB(kilobtye) = 1,024 bytes, MB(Mega byte) = 1,024 KB, ... (1024 = 2^10) -bit는 binary digit의 줄임말이다. 정보량은 사건의 수(number)뿐만 아니라 발생 확률(probability)에도 영향을 받기 때문에 Software Engineer는 어떻게 정보량을 줄이면서 효율적인 의사결정을 할 수 있을지, 다시 말해 시스템 구조를 어떻게 짜야할지를 고민해야 하는 것이다. 예를 들어, 1~100 중 정해진 한 개의 숫자를 맞춰..
1. Hardware 중앙처리장치(Central Processing Unit, CPU)는 프로세서라고 불리기도 함. 입력 장치에서 받은 명령을 실제로 처리하며, CPU가 1초에 얼마나 많은 연산을 할 수 있는지 속도를 측정하는 단위는 GHz 이다. 기억장치는 입력된 명령이나 데이터가 저장되는 공간이다. 주기억장치인 RAM(Random Access Memory)은 정보를 읽거나 쓸 수 있는 장치이며, 일시적으로 데이터를 저장한다. 보조기억장치인 HDD(Hard Disk Drive), SSD(Solid State Drive)는 영구적으로 데이터를 저장한다. HDD는 원판 모양의 플래터를 회전시키고, 물리적으로 데이터에 접근해야하는 반면, SSD는 움직이는 부품이 없어서 HDD에 비해 속도가 빠르다. SSD는 RAM과 같이 전기적..