파이썬 ,c++이런 프로그램은 어떻게 만든거야?? 설명이 이상하긴 한데 예를 들면
난 아랍어를 전혀 모르는데 아랍인이 나한테 뭐라뭐라 하면 알수가 없잖아
근데 뭘했더니 알아들을수가 있더라 에서
뭘 했더니는 대체 어떻게 한걸까?
컴퓨터가 지능이 있을리도 없고 오른쪽이란 개념을 어떻게 집어 넣을수 있는걸까 너무 궁금함 아랍어로 아무리 오른쪽이라 말해도 난 그게 뭔지 모를거 아녀
설명 참 답답하게해서 미안해유 컴공과 형님덜
20개의 댓글
무분별한 사용은 차단될 수 있습니다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
404558 | 나름 잘살고 있다고 생각하는데 우울한게 고민 2 | c41c3025 | 6 분 전 | 23 |
404557 | 여친있는 개붕이 질문좀 ㅈㅂ급함 | db114bc7 | 10 분 전 | 61 |
404556 | 관심있는 사람 생겼는데 어떤거 같음? 7 | 4c116a29 | 28 분 전 | 101 |
404555 | 데이트룩 골라줄사람 14 | bad5378f | 38 분 전 | 190 |
404554 | 게임은 나이먹으면 안하는게 맞겠지 ?? 25 | 7b5ebd8b | 50 분 전 | 213 |
404553 | 오늘 진짜 처음으로 응급실 실려가봄;; 7 | 926792fc | 51 분 전 | 139 |
404552 | 아 시발 오늘까지 연락주기로 했는데 3 | 72cc5d3c | 54 분 전 | 115 |
404551 | 여자라서 취직한 부하직원 짜증나네 24 | e228dbcc | 1 시간 전 | 276 |
404550 | 아니 이거 마이크로소프트엣지 왜이래 갑자기 3 | d10a3ad3 | 1 시간 전 | 81 |
404549 | 전여친 뭔생각이지 2 | ccb5d087 | 1 시간 전 | 195 |
404548 | 어제 고정비로 고민하던 개붕이 고정비 줄임 12 | a9f68e57 | 1 시간 전 | 105 |
404547 | 아이폰이랑 갤럭시랑 1 | dd8c52a9 | 1 시간 전 | 43 |
404546 | 남자 월 300이면 적은거야? 40 | eb42eb9b | 1 시간 전 | 551 |
404545 | 관계시 여자 오르ㄱㅈ 질문 ㅎ 7 | cbfb0d97 | 2 시간 전 | 367 |
404544 | 세탁기 배송사다리차 ..... 5 | 45519e88 | 2 시간 전 | 91 |
404543 | Ai시대에 공무원은 안전할까? 4 | ce482ea2 | 2 시간 전 | 114 |
404542 | 경찰서가서 토렌트 관련으로 조사받고 옴 4 | 1e5ea88b | 2 시간 전 | 178 |
404541 | 전세금 반환 지연으로 생기는 손해는.. 3 | fcce2374 | 2 시간 전 | 61 |
404540 | 직장인 언제 운동할지 고민... 25 | 75643d2e | 2 시간 전 | 164 |
404539 | 제육에 김치찌개vs된장찌개 3 | 285d2c67 | 2 시간 전 | 32 |
948dca2d
기계어로 번역해서 알아들어
0370b539
대충 구글 번역기에 작성한다고 생각하셈
프로그래밍 하는 툴이 번역기고 거기다가 한글로 쌸라쌸라하면 그 아래 번역된거 나오잖음
그렇게 컴퓨터 언어로 변환해서 쓰는거
152aafc4
몇단계로 번역을 거칩니다요
5629e16d
아랍인이랑 나 사이에 번역해주는 사람이 있다고 생각하면 됨. 그게 컴파일러임
4ef10d71
정말 쉽게 말하면 c언어는 번역기라고 생각하면됨
번역기에 오른쪽이라고 입력하면 아랍어로 오른쪽이라는 뜻의 단어가 나오잖아
이거처럼 니가 c언어로 오른쪽이라고 입력하면 캄퓨터가 알아들을수 있는 기계어라는걸로 번역해서 입력해주는거임
4ef10d71
니가 궁금해하는 뭘했더니는 뭘한게 아니라 아랍어를 잘하는사람이 오른쪽이라고 입력하면 아랍어의 오른쪽을 의미하는 단어가 나오게 약속을 해놓은 거임 번역기에 설정을 하는거처럼 말이야
b396833b
여기까진 이해가능 그럼 번역기라고 한다면 한국어로 번역이 될꺼 아니야 그럼 그 한국어는 누가 내 머릿속에 오른쪽은 ~다 라고 설정해 놓은거야??
답답하지 ㅠㅠ 컴이라곤 롤밖에 몰라서 그래ㅠㅠ
4ef10d71
ㅇㅇ 다 설정해놓은거지 그래서 코딩에 규칙이 있는거임 다 설정해놓은거니까
24c4af1a
프로그래밍 언어는 컴퓨터보다 먼저나옴
옛날에 기계로 수학식을 빠르게 풀지는 취지에서 나왔던걸로 아는데 이걸 전자부품이랑 연결하다보니 켜졌다(1) 꺼졌다(0) 밖에 못 알아들으니 2진수로밖에 짤 수 없었던거지
이 구조랑 알고리즘들이 쌓여서 현재의 프로그래밍 언어가 된거고
b396833b
10의 조합으로 컴퓨터가 오른쪽이 오른쪽이란 개념을 가지게 된다는게 제 아둔한 머리론 이해가 안갖니다...ㅠ
316bd1c7
스위치가 있잖아 1이 켜진 상태고 0이 꺼진 상태라고 규정한거임
316bd1c7
여기서 발전시켜서 2진수 -> 10진수 -> 16진수로 가는거고
5629e16d
컴퓨터가 오른쪽이란 개념을 갖고 동작하는게 아니라 프로그래머가 논리적으로 오른쪽 왼쪽을 구분해서 구현하는거임.
c6b5ad28
10001111101110110101010101010110010110110100000101
7b84b2b7
c언어가 어셈블리어로 바뀌는과정...
그거는 4학년때 컴파일러 수업 들으면 알 수 잇습니다
아니 그래서 0이랑 1을 어케 컴퓨터가 받아들이냐고?
그거는 전자과로 전과하십시오
46b42b53
내가 컴퓨터 언어학 개론 조교 해봐서 대충 설명해줌
먼저
int a = 10;
int b = 10;
a = a + b;
라는 코드가 있다 치자
그러면 어휘분석기 (lexer)가 저 코드를 토큰화 시킴
[identifier(int), identifier(a), operator(=), integer(10), operator(;), identifier(int), identifier(b), operator(=), integer(10), operator(;), identifier(a), operator(=), identifier(a), operator(+), identifier(b), operator(;)]
이런식으로 토큰 리스트가 만들어지는거야
이걸가지고 구문분석기(parser)는 AST 트리구조로 바꿔버림
Source
ㄴDeclaration(Type(int), Variable(a), Integer(10))
ㄴDeclaration(Type(int), Variable(b), Integer(10))
ㄴAssignment(Variable(a), BinaryOp(+, a, b))
대충 이렇게 만들어짐
여기까지 만들어졌으면 이제 더 낮은 언어로 1대1 번역하기가 쉽겠지
어셈블리어로 번역한다고 하면
mov r0 10 // 레지스터 0에 10 저장
mov r1 10 // 레지스터 1에 10저장
add r0 r0 r1 //레지스터 0에 둘 더한거 저장
오랜만에 써서 까먹었는데 대충 이렇게 되겠지
어셈블리어는 기계어랑 1대1 대응이 돼서 저 코드가
0001111 00000000 00000110
0001111 00000001 00000110
0001101 00000000 00000000 00000001
이런식으로 바뀌고 컴퓨터 회로가 저걸 보면서 처리를 할 수 있게 되는거야
b396833b
bdd43ecc
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
2a030ee4
쉽게 말해서 전세계 모든 컴퓨터는 0과 1로만 되어있는 컴퓨터 언어는 다 알아들어. 이걸 기계어라고 함
근데 기계어는 사람이 읽을수 없기 때문에 예를들어 text = 00100110 이런식으로 번역어를 만들어 놓는거야
그걸 프로그래밍 언어라고 하는거고 모든 프로그래밍 언어는 마지막에 컴파일이라는 기계어 번역 과정이 반드시 들어감
그래서 C언어와 C언어 컴파일러는 항상 세트로 붙어있음
C언어로 코드를 다 짜면 마지막에 text = 00100110 이렇게 C언어 컴파일러가 기계어로 번역해주고 그러면 기계는 그 프로그램을 돌릴수 있는거임
인간의 언어는 영어도 전세계 보급률이 40%도 안되지만 컴퓨터의 기계어는 전세계 보급률이 100%인거임
b396833b