-
Notifications
You must be signed in to change notification settings - Fork 50
C : 컴퓨터가 데이터를 표현하는 방법 #33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
비트, 바이트가 무엇이고 변수에서 자료형 char, int의 바이트가 무엇을 의미한가요?비트비트는 컴퓨터에서 정보를 표현할 수 있는 가장 작은 정보 단위입니다. 비트는 0과 1의 상태를 갖습니다. 이 상태의 특성을 이용해서 2가지 정보를 담을 수 있습니다. 바이트비트들을 8개 그룹핑한게 바이트입니다. 바이트는 256개의 정보를 담을 수 있습니다. 컴퓨터 안에서는 바이트가 기본 단위로 많이 사용됩니다. 대부분의 컴퓨터 하드웨어에서 메모리 주소 단위로도 사용됩니다. 변수에서 자료형 char, int의 바이트가 무엇을 의미하는가?변수를 선언한다는 것은 컴퓨터 하드웨어의 메모리를 할당한다는 의미입니다. 이때 변수의 자료형에 따라 그 크기를 지정합니다. 정보를 많이 담을 필요가 없는데 메모리를 많이 사용하면 그 만큼 비효율적인 것이니까요. 그래서 문자는 char 이라는 자료형을 사용하고 이 자료형은 1byte의 메모리의 공간을 할당합니다. 1byte는 비트가 8로 구성되어 있습니다. 즉 2의 8승의 자료형을 표현할 수 있고 256개의 정보를 담을 수 있고 영문이나 특수문자 같은 의미를 담는데는 적당한 메모리 크기 입니다. XOR 연산은 무엇인가요.XOR 연산은 두개의 비트가 서로 다를 경우 참이고 그 외에는 거짓인 연산입니다.
// xor 암호화 ^ 복음화
void enc(char *msg) {
int key=31;
while (*msg) {
*msg = *msg ^ key; //xor 연산
msg++;
}
} 도움이 되셨으면 합니다~~ ^^ 저보다 더 좋은 설명들이 인터넷과 책에는 많습니다. |
봉화를 한번 생각해보세요. 봉화는 불이 3개가 있어요. 3개의 불로 표현 할 수 있는 정보의 양은 8개 입니다. 만약 성진님이 조선의
임금이라서 8가지 정보 밖에는 표현 할 수 없는 봉화를 운영한다면 어떤 정보를 담을 것인가에 대해서 심각한 고민을 하겠죠? 예전엔
컴퓨터가 정보를 많이 담을 수 없었어요. 그래서 용량을 아끼기 위해서 안간힘을 써야했어요. 동시에 요즘엔 엄청난 정보가 쏟아지기 때문에
정보를 조금만 효율적으로 설계해도 엄청난 데이타 절약효과가 난답니다. 우리의 컴퓨터는 예전보가 훨씬 강력하고, 성진님은 아직
초심자이기 때문에 아직은 그런 주제에 대해서 너무 심각하게 생각하지 않으셔도 됩니다~
2018년 1월 4일 (목) 오후 2:10, DU RU KANG <[email protected]>님이 작성:
… 비트, 바이트가 무엇이고 변수에서 자료형 char, int의 바이트가 무엇을 의미한가요? 비트
비트는 컴퓨터에서 정보를 표현할 수 있는 가장 작은 정보 단위입니다. 비트는 0과 1의 상태를 갖습니다. 이 상태의 특성을 이용해서
2가지 정보를 담을 수 있습니다.
비트가 중요한 이유는 컴퓨터의 모든 데이터는 궁극적으로 이 비트들의 모음 이라는 사실입니다. 프로그램, 파일, 운영제제 와 같은
컴퓨터 안에 있는 모든 것들은 1과 0으로 나열이고 사람이 정해 놓은 체계와 구조와 같은 약속을 통해 특정한 의미를 표현하는 것 입니다.
( 비트는 물리적으로 비유한다면 컴퓨터안에서 더 이상 쪼갤 수 없는 원자인거죠~)
바이트
비트들이 8개 모아서 그룹핑한게 바이트입니다. 바이트는 256개의 정보를 담을 수 있습니다. 컴퓨터 안에서 바이트가 기본 단위로 많이
사용됩니다. 대부분의 컴퓨터 하드웨어에서 메모리 주소 단위로 사용됩니다.
[image: 바이트정보]
<https://camo.githubusercontent.com/064d5677bddf3c6e736880232b5dfdfc39674138/687474703a2f2f7777772e66726565736f66742e6f72672f4349452f546f706963732f627974653231372e676966>
바이트_한글위키피디아 <https://ko.wikipedia.org/wiki/%EB%B0%94%EC%9D%B4%ED%8A%B8>
비트정보 <http://www.freesoft.org/CIE/Topics/19.htm>
변수에서 자료형 char, int에서 바이트가 무엇을 의미하는가?
변수를 선언하는다는 것은 컴퓨터 하드웨어에서 메모리를 할당한다는 의미입니다. 이때 변수의 자료형에 따라 그 크기를 지정합니다. 정보를
많이 담을 필요가 없는데 메모리를 많이 사용하면 그 만큼 비효율적인 것이니까요. 그래서 문자는 char 이라는 자료형을 사용하고 이
자료형은 1byte의 메모리의 공간을 할당합니다. 1byte는 비트가 8개 모였으니까. 2의 8승의 자료형을 표현할 수 있고 256개의
정보를 담을 수 있고 영문이나 특수문자 같은 의미를 담는데는 적당한 메모리 크기 입니다.
int 자료형은 4바이트의 메모리 공간을 보통 할당합니다. (C언어 기준) 4바이트는 비트가 32개 정보단위이고 2의 32승의 의미를
담을 수 있습니다. 그래서 일상적으로 사용하는 정수를 담는데 적당하기 때문에 사용하는 것입니다.
XOR 연산은 무엇인가요.
XOR 연산은 두개의 비트가 서로 다를 경우 참이고 그 외에는 거짓인 연산입니다.
이 연산은 암호화 분야에서도 많이 사용이 되요. 어떤한 비트를 xor 연산을 한번 했을 경우는 원래의 자료상태을 알아보기 힘들게 되고
다시 xor 연산을 하면 더 하면 복원되는 특징이 있습니다.
A B OutPut
0 0 0
0 1 1
1 0 1
1 1 0
도움이 되셨으면 합니다~~ ^^ 저보다 더 좋은 설명들이 인터넷에는 많습니다.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#33 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABuGj9JWfanKuOmPrutRcSMC6Gl1Ask0ks5tHF01gaJpZM4RR2jq>
.
|
C는 메모리 상의 데이터 크기가 얼마나 되는지 모르면 착잡해집니다. C++이 아닌 C로 몇개 만들어보시면 알게 되세요. |
c언어 공부하면 컴퓨터가 데이터를 표현하는 방법 파트가 나오는데 몰라도 딱히 어려움은 없는듯 한데 궁금하네요 막 비트 바이트
있잖아요 변수에서도 char 이나 int에는 몇 바이트 이러는데
무슨말이죠 그리고 그게 왜중요한건가요??? 그리고 연산자에서 XOR 이러한 기호들
다뭐죠???
The text was updated successfully, but these errors were encountered: