덧셈 예시)
곱셈 예시) 10 x 12 = 120 //
아스키코드(ASCII) : 1963년 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계
🧨1바이트를 구성하는 8비트 중에서 7비트만 쓰도록 제정된 이유는, 나머지 1비트를 통신 에러 검출을 위한 용도로 비워두었기 때문이다. Parity Bit라고 해서, 7개의 비트 중 1의 개수가 홀수면 1, 짝수면 0으로 하는 식의 패리티 비트를 붙여서, 전송 도중 신호가 변질된 것을 수신측에서 검출해낼 수 있도록 하였음.
(출처-나무위키)
유니코드(Unicode) : 전 세계의 모든 문자를 다루도록 설계된 표준 문자 전산 처리 방식.
현재의 유니코드는 지구상에서 통용되는 대부분의 문자들을 담고 있다. 여기에는 언어를 표기할 때 쓰는 문자는 물론, 악보 기호, 이모지, 태그, 마작이나 도미노 기호 같은 것들도 포함
🧨처음에는 1 바이트의 남은 공간에 각 나라가 자국 문자를 할당. 하지만 이런 상황에서 다른 국가에 이메일을 보냈더니 글자가 와장창 깨짐! 그리하여 국제적으로 전세계 언어를 모두 표시할 수 있는 표준코드를 만들기로 했다. 바로 유니코드(Unicode)다. 이에 따라 2~3바이트의 넉넉한 공간에 세상의 모든 문자를 할당!
!!! 유니코드에서 한글은 한자(88,884개) 다음으로 많은 코드를 차지하고 있는 문자
UTF-8: 유니코드를 인코딩(encoding)하는 방식으로 가장 많이 사용되는 '''가변 길이 유니코드'''
UTF-8은 8bit 8의미는 8비트 1바이트를 기준으로 인코딩한다는 의미
유니코드 한 문자를 나타내기 위해 1byte~4byte까지를 사용,
일반적인 문자는 3byte 내로 처리되며 4byte 영역에는 이모티콘 같은 문자가 존재
글자마다 byte 길이가 다르다는 것. ‘a’는 1 byte이고 ‘가'는 3 byte
🧨장점 :
📙이런 장점으로 인해 인터넷 사이트에서 가장 많이 쓰이는 인코딩이다. (출처-나무위키)
출처 - https://jeongdowon.medium.com/unicode%EC%99%80-utf-8-%EA%B0%84%EB%8B%A8%ED%9E%88-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-b6aa3f7edf96
https://namu.wiki/w/UTF-8
16진수 -> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F(15)
사용 이유 : 2진수로 수를 표현할 때 너무 길어지기 때문에 이를 줄이기 위해 16진수를 사용한다. 전자 기기, 특히 컴퓨터에서 사용하는 이유는 자릿수 2개를 사용하면 2의 8승을 표현할 수 있는데, 2의 8승은 곧 1바이트이다.
간단히 1바이트의 값을 2진법을 사용해서 0101 1111 식으로 표기할 게 아니라 그냥 16진법으로 5F16라고 표기해 버리면 많이 축약할 수 있다. 게다가 훈련이 된 상황이라면 16진법의 숫자만 보고도 바로 2진법 수로 변환이 가능하기 때문에 상당히 유용한 표현 방법이다.
16진수 > 2진수
25FB16
0010(2) 0101(5) 1111(F) 1011(B)처럼 끊어서 변환한 다음 전부 붙여주고 앞의 00을 떼준 뒤 10010111111011로 적으면 된다.
반대로 2진법을 16진법으로 바로 변환하려면 1의 자리에서부터 4개씩 끊어서 16진법으로 변환해주면 된다.
32비트 및 64비트라는 용어는 컴퓨터의 프로세서(CPU라고도 함)가 정보를 처리하는 방식을 가리킨다.
비트라는 것은 cpu가 처리하는 데이터의 최소 단위인 레지스터의 크기가 몇 비트인지에서 나온말이다.
🧨 즉 레지스터의 크기가 32비트 64비트라는 것이다.
데이터를 처리할 때 CPU를 통해 처리를 하는데, 매 번 메모리에서 처리를 할 때 마다 데이터를 가져오게 되면 시간 낭비가 생기게 되어 지연이 생긴다.
✨ 레지스터의 역할 : 메모리에 대한 주소 및 명령을 저장
CPU 내부에 임시 기억장치인 레지스터를 두어 메모리에서 데이터를 가져와서 저장하고 필요할때마다 불러와서 처리를 한다.
임시 기억장치이기 때문에 이 레지스터 또한 용량을 가지고 있다. (32bit 64bit)
물론 레지스터의 용량이 클 수록 메모리에서 더 많은 데이터를 가져와 저장할 수 있기 때문에 처리 속도도 더 빨라지게 된다.
32비트 기준으로 2^32비트->4,294,967,296개의 숫자를 표현할 수 있고 4,294,967,296개의 메모리 주소를 저장할수 있다.
(메모리의 주소값의 단위는 1바이트(8비트)이므로 총 4,294,967,296바이트 메모리 주소를 가리킬 수 있다. )
4,294,967,296바이트 = 4,194,304KB = 4,096MB = 4GB이다.
그래서
따라서 32비트 레지스터로는 램에서 한번에 표현할 수 있는 메모리의 크기가 4GB이다. (따라서 32비트CPU에서는 4GB램까지가 한계이다.)
64bit의 RAM은 192GB램까지 가능하다.
출처