티스토리 뷰
복습하자 복습.
https://steps-for-developer.tistory.com/3
<컴파일러는> 사람이 작성한 코드를 cpu가 알아들을 수 있는 명령어의 집합체계인 기계어로 번역해주는 것
<자바 컴파일러는> 사람이 작성한 코드를 가상cpu(JVM)가 알아들을 수 있는 자바바이트코드(클래스파일)로 바꾸어 주는 것이다.
이 클래스 파일은 jvm(java.exe)위에서 돌아가게 된다.
2진 16진 10진 계산기 http://calc.50x.eu/
데이터를 표현하는 가장 작은 단위(bit)
bit
byte
word
block
...
등이 있지만 프로그래밍단계에서는 bit와 byte만 사용한다.
bit는 1과 0의 구분으로 되어있고
<byte는 8개의 bit가 모여 하나가 된다.> <1byte = (□□□□|□□□□) = 8bit>
<1바이트가 왜 8비트인가?왜 비트가8개나 되는가?무한의 숫자를 표현하기 위해서!>
바이트는 2진수의 집합으로 이루어져 있다. (ex)0110 0001
비트가 하나일때 2^1=2가지 (=0 또는 1이므로)
비트가 둘일때 2^2=4가지 (=00,01,10,11 즉 숫자0,1,2,3까지 표현할 수 있다.)
....
비트가 넷일때 2^4=16가지의 값이 존재하게 된다.
데이터를 표현하는 가장 작은 단위(bit)
bit
byte
word
block
...
등이 있지만 프로그래밍단계에서는 bit와 byte만 사용한다.
bit는 1과 0의 구분으로 되어있고
<byte는 8개의 bit가 모여 하나가 된다.> <1byte = (□□□□|□□□□) = 8bit>
<1바이트가 왜 8비트인가?왜 비트가8개나 되는가?무한의 숫자를 표현하기 위해서!>
바이트는 2진수의 집합으로 이루어져 있다. (ex)0110 0001
비트가 하나일때 2^1=2가지 (=0 또는 1이므로)
비트가 둘일때 2^2=4가지 (=00,01,10,11 즉 숫자0,1,2,3까지 표현할 수 있다.)
....
비트가 넷일때 2^4=16가지의 값이 존재하게 된다.
<비트와 바이트를 배웠으니 데이터 형마다 가진 바이트 크기 별로 값의 표현 범위를 구할 수 있다.>
<진법>
binary(바이너리) : 2진
octet(옥텟) : 8진
decimal(데시멀) : 10진
hex(헥스) : 16진
한 바이트에 가득 찼을때 위의 그림에서 보듯이
(bin)2진으로 1111 | 1111
(hex)16진으로 FF
숫자를 표현할때 프로그래밍에서는 대부분 헥스 16진으로 표현한다.
FF(16진) = 1111 | 1111(2진) ===> 16진의 문자2개 = 1바이트 = 8비트
<16진.16진 왜 헥사를 쓰는가?중요한 것은 왜 16진 인가?>
컴퓨터의 비트연산은 비트단위로 연산하기때문에
개발자들은 비트연산을 하는 경우에 헥사로 표현하여 코딩해야
1111 1111 = FF구나! 하고 머릿속에 연상하기 쉽다.
컴퓨터는 이진 바이너리처리(비트단위로)를 하지만 그 바이너리값을 인간이 보기는 힘들다.따라서 인간이 이해하기 쉽게 헥사값으로 표현해주는 것이다.
<자바는 2의 보수 표현을 가지고 있다.음수 작업을 할 경우 2의 보수를 가지고 계산을 한다.왜?>
<1의보수는 이진을 비트 반전처리한것 : 1111 1111 =>0000 0000 >
<2의보수는 1의보수 작업후에 +1한것>예로 쉽게 설명하자면,
3-1의 경우 -1을 2의 보수로 바꾸어서 3에다가 더하여 계산한다.
이렇게 ①2의 보수 덧셈 연산으로 양수와 합산하여 쉽게 계산하기 위해서 2의보수를 사용한다.
그리고 ②실제로 컴퓨터 회로에서 2의 보수로 만들어 계산하는 것이 인간이 -1하듯이 계산하는 것 보다 훨씬 빠르다.
<쉬프트 연산>
'Java' 카테고리의 다른 글
Array와 List (0) | 2018.11.19 |
---|---|
switch case문, 다양한 for문 (java의 iterator for문) (0) | 2018.11.19 |
객체, Class, Instance (0) | 2018.11.19 |
변수의 두 종류 Primitive변수와 Object변수 (0) | 2018.11.19 |
JDK, JRE, JVM (0) | 2018.11.19 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 활성화된 파일 위치 찾기
- hot swapping
- Apache설치
- 이데일리 코딩 챌린지
- tomcat 환경변수
- eclipse disable welcome page
- SQL 개발툴
- runtimeOnly
- EDAILY CODING CHALLENGE
- DB 툴
- java
- spring 기본 login
- Whitelabel Error Page(404 Not Found)에러
- login page
- 라이브러리 종속성
- 나눔고딕코딩
- Autoscroll from Source
- 알고리즘
- 패키지 위치 찾기
- 기초입문
- Spring Security
- webprogramming
- gradle 종속성
- springboot에서 jsp호출
- spring loaded
- Encoding UTF-8
- compileOnly
- apache tomcat 설정
- mysql 연동
- 웹서버설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함