# bit
VScode - bit Clone해오기
cd 폴더; 위치로 이동 git clone "주소" git config credential.helper store clone 된 파일의 rails_app/config 내에 파일 작성 (database.yml,environment.rb) rails_app 폴더 내에 log 폴더 생성 끝

[이러닝] 기본 알고리즘 (python) - 1. 실전 알고리즘 이론(스택과 큐,트리,BIT,정렬알고리즘)
[멀티캠퍼스] 이러닝 7시간 강의 듣기 강사: 나동빈 [큐레이팅# 플러스]최적의 코딩을 결정하는 기본 알고리즘 실전 알고리즘 이론 1. 스택과 큐 스택 Stack 스택 : pop(추출 및 삭제)시 -> 가장 나중에 입력된 데이터 큐 queue 큐 : pop(추출 및 삭제)시 -> 가장 먼저 입력된 데이터 >## 2. 우선순위 큐 Priority queue 우선순위 큐 : pop(추출 및 삭제)시 -> 가장 우선순위가 높은 데이터 1) 리스트 이용 2) 힙Heap 이용 : 완전 이진 트리 자료구조의 일종 완전 이진 트리 : 루트(root)노드부터 시작 최소 힙 min heap : 루트 노드가 가장 작은 값 최대 힙 max heap : 루트 노드가 가장 큰 값 2. 트리 자료구조 트리 : 가계도와 같은 계층적인 구조를 표현할 때 사용할 수 있는 자료구조 루트 노드 root node:

운영체제란?
운영체제란? 컴퓨터의 정보 처리 방식 정보의 최소 단위 bit binary digit 정보의 처리 정보의 상태 변환 0 → 1, 1 → 0 부울 대수 Boolean Algebra NOT, AND, OR 트랜지스터 논리 게이트 NOT, AND, OR, XOR, NAND, NOR 논리 회로 IC, LSI, VLSI, ULSI, SoC 정보의 저장과 전송 플립-플롭, 데이터 버스, RF 무선 사칙연산 덧셈 반가산기, 전가산기 뺄셈 2의 보수 표현법 곱셈 나눗셈 덧셈과 뺄셈의 반복 범용성 Universality NOT, AND, OR 게이트만으로 모든 계산 가능 NAND 게이트만으로 모든 계산 가능 계산 가능성 Computability Turing-computable 튜링

비트 연산
bit 표현 갯수 일반적으로 int는 4 byte 타입이다(C/C++ 표준에 int가 4 byte 여야 한다는 규칙이 없다) 4 byte = 32 bit = 2 ^ 32 표현 가능한 수의 갯수는 2 ^ 32 갯수이다.(0 포함) 최대값은 어떻게 만들 수 있을까 ? (2 ^ 32) - 1을 하면 모든 32 bit 모두를 1로 설정 가능하기에 최대값 표현 가능하다. unsigned 데이터들은 이런 식으로 표현 가능 하지만 부호가 있는 데이터는 이런 식으로 구할 수 없다. 업로드중.. 맨 앞의 bit가 부호 비트이기에 값 표현에서 제외해야 한다 따라서 최대 양수는 최소 음수는
Bits and Character + Web browser
Bits and Character Codes for Characters Encoding : 대상 information을 code로 변환하는 과정 또는 규칙 Decoding : code로부터 원래의 information으로 얻는 과정 또는 규칙 ASCII(The American Standard Code for Information Interchange) code 중 가장 오래되었지만 영문자를 처리하는데 여전히 사용됨 7bit 만으로 다양한 숫자기호와 영문자, 특수문자 및 Control character들을 표현 컴퓨터가 발전함에 따라 ASCII를 사용하는 데이터 type의 크기가 1byte가 되었음. 34개의 Control character, 52개의 Alphabet, 10개의 Digit, 32개의 Special character로 구성 라도 어느 자리에 있느냐에 따라 크기가 다르며 해당 자리에 따라 다른 크기는 base에 의해 결정. Base R System R은 base를 의미하며 다음과 같이 표기 > $$ A{base} = AR = a{n-1}a{n-2}...a1a0a{-1}a{-2}...a_{-m} $$ 위의 value는 다음과 같음. > $$ V(A{base}) = V(AR) = \displaystyle\sum{i=-m}^{n-1}{aiR^i} $$ 주로 사용되는 system에는 Decimal system, Hexadecimal system, Octal System, Binary System이 있음. Positive Integer Representation Computer에서는 대
Bits and Boolean Algebra
Bit Binary + Digit 로부터 만들어진 용어. > - Binary란 둘 중 하나의 값을 가지는 것. : Bit is binary > - Digit은 10진수를 표현하는 10가지 기호 0~9(엄밀히는 10개 중에 하나의 값을 가지는 것) Information을 표현하는 기본단위 Bit는 흔히 0과 1 중에 하나의 값을 가지지만, 0과 1의 의미는 다를 수 있음. Information을 표현하는 기본단위이기 때문. 보다 큰 비트에 해당하는 information이 정보량이 많다고 해석 가능. 처리가능한 bit가 큰 컴퓨터일 수록 처리가능한 정보량이 큼. 처리가능하다는 얘기는 표현할(represent) 수 있다는 의미이기도 함. MSB and LSB MSB : Most Significant Bit LSB : Least Significant Bit 2진수 표기 시 가장 왼쪽에 있는 bit가 MSB, 가장 오른쪽에
양의 정수, 음의 정수 2진수로.
⚡ 생각대로 살지 않으면 사는대로 생각한다. > ⚡ 나는 어차피 잘 될 놈이다. 이미 잘 되고 있고, 계속해서 잘 되고 있다. 0000 0000 0000 0000 0000 0000 0000 1000 => 8 1111 1111 1111 1111 1111 1111 1111 0111 => ~8 1111 1111 1111 1111 1111 1111 1111 0110 => ~8 +1 0000 0000 0000 0000 0000 0000 0000 1001 => ~(~8+1) => 9 양수 => not +1 한 상태에서 다시 not 하면, 음수의 절댓값 => 계산하기 복잡해서 2의 보수로 알아봄, 1111 1111 1111 1111 1111 1111 1111 0111 => -9 0000 0000 0000 0000 0000 0000 0000 1000 => 8 음수 => 그냥 not 처리하면됨. 그냥 코드업 풀다가 헷갈려서 정리함.... 양의 정수를
byte? bit? xx(bi)byte?
movie 1 byte = 8 bits = 2^8 = 256 = (0~255) = (-127~127) char(1 byte) / short(2 byte) / int(4 byte = 32 bits) / long(8 byte = 64bits) kilobyte 1000KB kibibyte 1024KB utf-8 : 가변길이 유니코드 문자 인코딩 > 거의 모든 언어에 적용된다.
비트에 관하여
1비트에는 0과1중에서 하나를 저장할 수 있다. 이런 2진수 1비트가 8개가 모이면 1Byte를 구성한다. 이러한 1Byte가 1024개가 모이면 1KB가 되고, 1KB가 1024개가 모이면 1MB가 된다. 우리는 1Byte 즉 8개의 비트로 표현할 수 있는 10진수의 숫자를 생각 할 수 있다. 하나의 비트당 0또는 1이 들어가므로 경우의 수를 생각해보면 총 256까지의 숫자를 표현할 수 있다. 그렇다면 음수는 어떻게 표현하는가? → 음수의 경우에는 부호비트 1개를 따로 빼놓고 셈을해서 -128~127까지 표현할 수 있다고 한다. 이때 0은 양수로 쳐서 부호비트에 0이 저장되게 된다. 사실 이전까지는 별로 이런 정보 용량에 관해서 신경쓰지 않았다. 메모리 공간이 이전과는 달리 비약적으로 발전했기 때문에 신경쓰지 않아도 된다는 주변의 의견도 있었고, 무엇보다 파이썬을 주로 사용했기 때문에, 데이터를 어디에 담고 어떤크기로 설정하는 것에 대해서 신경쓰지 않았다.

C언어 1주차
동혁님께서 c언어 수업 해주신다고 하셔서 냉큼 알겠다고 했다. 총 6주차! 어제 수업 내용 프로그래밍 언어 종류 data type about byte and bit 대입 연산자 int if문 int와 if문을 활용한 문제 풀기 1. 프로그래밍 언어 종류 python: 교육 목적, 문법이 쉬움. 인공지능에 많이 쓰임. 사소한 작업은 컴퓨터가 다 해줌. 그만큼 제어도가 낮다. java: 객체지향적. 데이터 위주. 컴퓨터 본체 부품이라고 비유하셨다. like cpu, gpu, ram C: 근본. 절차지향적. 순서대로 처리. 컴퓨터 자체라고 비유하셨다. 코드를 수정할 일이 생기거나 유지 보수를 할 때 불편함. 데니스 리치가 1972년 개발. C#: C언어 + 기능. 객체지향적. 게임 제작에 많이 사용 (유니티) -> 빠르다. (중소기업에서는 이거 씀. 쉽다!) CPP: C언어 + 기능. 객체지향적. 게임 제작에 많이 사용 (언리
[백준 C++] 1562 계단수
문제 45656이란 수를 보자. 이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다. N이 주어질 때, 길이가 N이면서 0부터 9까지 숫자가 모두 등장하는 계단 수가 총 몇 개 있는지 구하는 프로그램을 작성하시오. 0으로 시작하는 수는 계단수가 아니다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. https://www.acmicpc.net/problem/1562 풀이 일반적인 DFS로 푼다면 대략 2^100만큼의 연산이 필요해진다. 따라서 좀더 효율적으로 해결하기위해, DP자릿수[사용된숫자비트필드]로 DP를 돌리면 100 * 10 * 2^10 = 백만회의 연산만으로 해결할 수 있다. 즉, 일반적인 **DFS로 푼다면 0번째부터 가능한
컴퓨터 구조와 프로그래밍 01
비트 비트(bit)라는 단어는 2진법을 사용한다는 뜻의 바이너리(binary)와 숫자를 뜻하는 디지트(digit)가 기묘하게 합쳐진 말이다. 비트는 2진법을 사용한다. 모스 부호의 .(점)과 -(선)처럼 두 가지 기호 중 하나만 담을 수 있다는 뜻이다. 불리언 대수 불리어 대수(Boolean algebra)는 비트에 대해 사용할 수 있는 연산 규칙의 집합이다. NOT: 논리적 반대를 의미하며 거짓인 비트에 NOT을 하면 참이 되거나, 참인 비트에 NOT을 하면 거짓이 된다. AND: 이 연산은 둘 이상의 비트에 작용한다. 2비트 연산인 경우 첫 번째 비트가 참이고, 두 번째 비트도 참인 경우에만 결과가 참이 된다. OR: 둘 이상의 비트에 작용하는 점은 같고, 둘 중에 하나의 비트라도 참이면 결과가 참이 된다. XOR: 첫 번째 비트와 두 번째 비트가 다른 값인 경우에만 참이 된다. 드모르간의 법칙 이 법칙은 불리언 대수에 적용할
TIL - 펜윅트리 문제편
지난 포스트에서 BIT에 대해서 알아보았다. 이제 이를 활용해서 리트코드 문제를 풀어보자 Count of Smaller Numbers After Self - LeetCode 문제 이해 문제는 간단하다 nums 라는 숫자가 들어있는 리스트가 주어지는데 각 숫자를 기준으로 그 숫자보다 오른쪽에 있는 값 중 그 숫자보다 작은 숫자의 개수를 값으로 가지는 리스트를 반환 하는 것이다.(이제 반환 할 리스트를 result라고 하겠다) 예를들어 nums가 [5,2,1,3] 이면 [3,1,0,0]을 반환 하는 것이다 5 오른쪽에 있는 값 중 3개가 5보다 작다 (2,1,3) 2 오른쪽에 있는 값 중 1개가 2보다 작다 (1) 1,3오른쪽에 있는 값 중 1,3 각각의 숫자보다 작은 값은 없다 문제 풀이 이제 문제를 풀어야 할 시간이

05. 컴퓨터 이해하기 2
컴퓨터 구조 > CPU = 연산장치 / RAM = 저장장치 비메모리 반도체 / 메모리 반도체 > 데이터생산 - > 데이터 수집 - > 데이터 분석 >용량의 단위 > > 8 bit = 1 Byte > 1024 Byte = 1 KByte > 1024 Kbyte = 1 MByte > 1024 MByte = 1 GByte

야채와 볶음밥 🥗
"일련의 bit(비트)가 주어졌을때, 각 자리의 숫자들은 10 대신 2를 기수로 하는 자릿값으로 해석하면 어떤 수를 나타낼 수 있다." > ## 십진수 십진법*으로 나타낸 수 십진법 * 십(10)을 기수로 한 기수법으로, 10개의 숫자(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)를 자리수로 쓰고, 이를 한 묶음으로 하여 1자리 올려가는 방법. 예) 1867 = 1 × 10³ + 8 × 10² + 6 × 10¹ + 7 × 10⁰ > ## 이진수 이진법*으로 나타낸 수 이진법 * 두 개의 숫자(0과 1)만을 이용하는 수 체계. (관습적으로 이진수를 이들(0과 1)로 이루어진 수라고도 함) / 라이프니츠(Gottfried Wilhelm Leibniz) 발명. 십진법의 1은 이진법에서 1, 십진법의 2는 이진법에서 10, 십진법의 3은 이진법에서

비트 연산
비트 연산 비트(bit) 컴퓨터에서 자료를 표현하기 위해 비트를 사용합니다. 1bit = 0 또는 1 8bits = 1byte 비트 연산자 >- 비트 연산의 우선순위에 주의가 필요합니다. 일반적으로 사용하는 사칙연산 +, -, *, /은 비교, 논리 연산자(==, >, && 등)보다 우선순위가 높습니다. 하지만 비트 연산은 논리 연산보다 우선순위가 높으나 비교 연산보단 낮습니다. 비트 연산 응용 & AND, | OR 비트 집합 두 개를 AND하면 교집합, OR하면 합집합을 구할 수 있습니다. ^ XOR true/false를 번갈아 바꾸는 스위치를 구현할 수 있습니다. XOR 연산을 이용해서 대소문자 변경을 해줄 수 있다. 대문자의 아스키

Spring FrameWork(인프런 강의 중심) - 서지훈
1. 스프링 프레임워크란? 스프링 프레임워크(영어: Spring Framework)는 자바 플랫폼)을 위한 오픈 소스애플리케이션 프레임워크로서 간단히 스프링 (Spring)이라고도 한다.

[Lotte-Potatos] React
1. React vs Vue vs Angular 출처 : https://www.npmtrends.com/angular-vs-react-vs-vue 2. About React 2.1. React란 리액트란, 프런트엔드 프레임워크 중 하나 리액트, 앵귤러, 뷰제이에스 중 점유율이 가장 높다. 2.2. React의 장점 화면이 Component로 이루어져 있어서 구성을 효율적으로 할 수 있다. 게임 엔진 원리를 도입하여 화면 출력 속도가 빠르다.  complement(여: 나머지, 보: 돕다) 1의 보수? 2의 보수? 절댓값의 합이 커다란 제곱수를 넘었다(Carry가 있다)-> 양수가 더 컸다 -> 양수로 표현 절댓값의 합이 커다란 제곱수를 넘지 못했다(Carry가 없다) -> 음수가 더 컸다. -> 음수로 표현 양수로 표현할지, 음수로 표현할지는 Carry로 판단한다.