본문 바로가기

Essays5

[CS] 컴퓨터에서의 정수와 실수의 데이터 표현방법과 부동소수점 1. 정수 컴퓨터는 정수를 이진수(binary) 형태로 저장합니다. 일반적으로 C/C++에서는 int형은 4바이트(32비트)를, long long 형은 8바이트(64비트)를 차지합니다. 정수는 부호(sign)와 절댓값(magnitude)으로 나누어 저장됩니다. 부호는 양수와 음수를 구분하는 정보이며, 0 또는 1로 표현됩니다. 절댓값은 정수의 크기를 나타내며, 이진수로 변환된 값을 2진수로 저장합니다. 컴퓨터는 일반적으로 2의 보수(two's complement) 방식을 사용하여 정수를 저장합니다. 이 방식은 부호를 포함한 절댓값을 2진수로 변환한 후, 양수와 음수를 구분하지 않고 덧셈 연산을 수행할 수 있도록 구현된 방식입니다. 2. 실수 컴퓨터는 실수를 부동소수점(floating-point) 방식으로.. 2023. 4. 22.
[JavaScript] iterable 쉽게 이해하기 👶🏻시작하기 전에 처음 자바스크립트의 이터레이터라는 개념을 접했을 때 '어렵다' 라고 생각했던 기억이 있습니다. [Symbol.iterator] 라는 것을 가지고 있어야 한다는데 저게 무슨 문법인지 모르겠고, 혼란스러웠던 기억이 있습니다. 오늘은 제너레이터에 대해 칼럼을 작성하기 이전에 이터레이터 개념에 대해 조금 더 쉽게 이해할 수 있는 글을 작성해 보고자 합니다. 그리 어렵지 않으니 함께 가봅시다! ES6와 이터러블 자바스크립트에서 ES6 이전의 순회 가능한 자료구조들은 통일된 규약 없이 각자 나름의 독립적인 구조를 가지고 순회를 했었습니다. ES6 에서는 순회 가능한 자료구조를 ”이터러블"로 통일하여 일원화 하였고, 그리하여 for…of 문, 스프레드 문법, 배열 디스트럭처링 할당의 대상으로 사용할.. 2023. 4. 17.
[Javascript] var를 왜 쓰면 안되나요? 시작하기 전에 오늘은 자바스크립트의 var의 특징들에 대해 알아보고 왜 사용을 지양해야 하는지 그 이유에 대하여 알아보겠습니다. 초기 자바스크립트에서 변수를 선언할 때 var를 사용했었는데요, 다른 프로그래밍 언어에서 동작하는 방식과 많이 달라서 자바스크립트에 입문하는 개발자들을 곤경에 빠트리는 주범이었다고 합니다. 오늘은 왜 var를 사용하면 좋지 않는지 중요한 특성과 var 대신 let과 const를 사용해서 변수를 선언해야 하는 이유에 대해 알아보겠습니다. 1. 변수를 선언하는 키워드가 없어도, 선언과 할당이 가능하다. something = '👶🏻'; console.log(something); // 👶🏻 위 코드는 var를 선언한 것과 동일하게 작동합니다. 뒤에서 언급하겠지만, 'use strict.. 2023. 4. 8.
TypeScript와 Linked List로 스택 구현하기 스택은 자료구조의 하나로 FIFO(fisrt in first out)의 구조를 가진다. 타입스크립트를 활용해 배열을 이용하지 않고 스택을 구현해 보자. Linked List 링크드리스드 자료구조를 이용해 만들 수 있다. https://www.geeksforgeeks.org/data-structures/linked-list/ Linked List Data Structure - GeeksforGeeks A page for Linked List with a detailed explanation about what is Linked List, types of Linked List, basic operations, and standard problems on Linked List. www.geeksforgeeks.. 2023. 3. 22.
[정규표현식] regex란? 이메일,전화번호 찾기, javascript 활용예제 개발을 하다 보면 여기저기서 마주하게 되는 정규표현식이라는 것이 있다. 매번 나중에 공부해야지 하며 누가 만들어둔 정규표현식을 복붙하면서 쓰다가 정리를 한번 해두고 가면 좋을 것 같아서 정리를 해보게 되었다. 정규표현식 regex Reguler Expression의 약자로 1950년 미국의 수학자 Stephen에 의해 개발되어 유닉스 계열에서 텍스트와 같은 것들을 처리하고 프로세싱하는데 쓰이다가 이제는 Java, Python, Javascript등의 다양한 프로그래밍 언어에서 내부적으로 지원하고 있을 뿐 아니라 텍스트나 코드 에디터에서도 정규 표현식을 이용해서 전화번호 형태의 패턴을 찾거나 웹사이트 형태의 패턴을 찾을 수 있으며 사용자가 입력한 데이터가 이메일이나 패스워드와 같은 특정한 패턴에 부합하는지.. 2023. 3. 19.