목록분류 전체보기 (220)
NULL
필드폭은 서식문자에 관한것이다.그냥 써주면 오른쪽 정렬이되고-를 붙치면 왼쪽정렬을 시킨다.그리고 %뒤에 숫자를 정해주면실수같은경우는 그 자릿수까지만 나온다.
자동 형변환이라는 것은암시적(implicit Conversion)과명시적 형변환(Explicit Conversion)이 있다. 암시적은?자동으로 형 변환한다. 자동 형변환의 원칙은 표현범위가좁은 데이터타입에서 넓은 데이터타입으로의변환만 허용된다는 것이다. 만약 넓은 데이터타입에서좁은 데이터타입으로 변환한다면데이터가 손실될 수 있다. 예) float < double float 1~10 , double 1~100 float값이 10이라면 double로 형변환해도값의 손상이 전혀없다. 하지만 반대로 double값이 100인데 float로 형변환한다면float는 10이 최대범위라서10이 남고 90은 짤려나가서 손실된다. 정수와 실수도 마찬가지로실수가 3.0인데 정수로 형변환한다면소수점이 잘려나가서 3이 되고 반..
심볼릭상수는 const라는 선언을변수앞에다가 선언해주면 된다. 그리고 변수의 이름은모두 대문자로 표시한다. 둘이상의 단어를 연결할때언더바로 구분짓는다. 사용법은 const int MAX 이런식으로 말이다. 심볼릭상수와 리터럴상수의 차이점 심볼릭상수는? 변수를 상수로 지정하는것.메모리주소도 어디인지 알수있음. 리터럴상수는? 값에 이름이 존재하지않아서변경도 못하고 메모리공간어디에 위치하는지도 몰라서어쩔수없는 상수이다. 차이점을 잘 기억하자.
리터럴상수는 말 그대로이름을 지니지않은 상수이다. 무슨말이냐면 변수 num이 있다고 가정하자. num = 30 + 40; 이라고 하는데 30과 40이라는 값은 이름이 없다.그냥 메모리공간 어딘가에 존재하는 값일뿐이름이 없기에 변경도 할수없다. 변수는 이름이 지정되있고변경도 가능한데 리터럴 상수라는 것은 이름 자체가없어서변경이 불가능하다는 것이다. 변수처럼 이름이 존재하는게 아니다.그냥 메모리공간 어디에만 남아있는것. 리터럴상수의 크기를 확인해보면문자크기가 4바이트가 된것을 볼수있다. 리터럴상수에서문자는 int형으로 표현된다.정수나 실수는 기본적인int, double형으로 표현된다. 이밖에도 접미사를 이용해서상수의 자료형을 변경할수있다. 항상 기억해야할것은 컴퓨터는 자료형을 명시하지않으면정수는 int로 연..
아스키코드는 문자의 표현이다. 한마디로 고유한 숫자이다. 고유한 숫자를 문자로 바꿀수있고반대로 문자도 숫자로 바꿀수있다. 방법은 간단하다. 문자와 정수의 서식문자를 이용하여 출력해보면실행결과에선 문자를 문자로 출력하고숫자를 숫자로 출력하기도 하지만 문자, 숫자를 가지고 있는 값이서식문자로 인해문자는 숫자 , 숫자는 문자로출력되는것을 볼수있다. 표를 한번 보고 이해를 해보자. 보면 문자 'A' 는 10진수로 65라는것. 알파벳이 점점 뒤로 갈수록 값이1씩 차이난다는 것을 알수있다. A~Z = 65~90a~z = 97~122 이정도만 알고 있으면 된다.그외에 다른것들은 표를 보고 찾아서 쓰자.
실수의 표현범위는 float, double 충분히 넓다. 실수에서 double형이 대표적인 이유는 double형이 float형보다 정밀도가 높다. float형은 정밀도가 부족한 면이 많다. 사진으로 봐도 float보다 double형이더 정밀도가 높다는걸 확인할수있다. double형으로 입력을 받을땐 float,double출력할땐 %f double만 입력받을때 %lf을 쓴다. 출력할때는 float, double 둘다%f으로 써주는게 표준이다.
sizeof 함수는 자료형의 크기를 확인 용도로 사용한다. 먼저 자료형의 크기를 보도록 하자. 자료형의 크기들은 외울필요가 있다. 여러번 보다가 보면 익혀질것이니그렇게 신경쓰고 외우지 마라. sizeof 사용법은 보기와 같다. 그냥 변수나 자료형의 이름을sizeof()괄호안에 넣어주면 된다. 자료형의 크기만큼 값들이 나온다. 여기서 출력결과값을 보면 sizeof함수를 이용해서 변수의 크기를출력하는것들은 다 정상적으로 표현이 됬는데 sizeof함수로 크기를 연산한것은 크기가 int와 같은 4바이트로 변환이 된것을 확인할수있다. 피연산자를 연산하면서 4바이트가 된 이유는 CPU는 연산을 할때 int로 형변환이 된다. 즉 4바이트로 형변환됨. 굳이 많은 크기의 데이터가 필요하지않는데 크기가 큰 자료형으로 데이..
비트연산자는 비트단위연산자이다. 이미지로 보는것과 똑같다. &연산자는0을 제외한 값이 둘다 동일하면 참. | 연산자는하나이상이 참이라면 참 ^연산자는 XOR연산을 한다고 나와있는데 이것은 참이면 거짓으로 표현하고거짓이면 참으로 표현하는 연산자이다. 즉 서로 다르면 참이라고 표현하는 연산자이다. ~연산자는 0이면 1로 반환시키고 반대로1이면 0으로 반환시키는 연산자다. 쉬프트연산자라고 불리는 > 연산자를 설명하겠다. 그냥 방향대로 비트를몇칸옮길지 정할수있는 연산자이다. 칸을 옮기면 값은 당연히 달라진다. 쉬프트 연산자를 써서 비트칸을 옮기게 되면앞에있는 비트는 짤리고 그리고 칸이 옮겨지고 뒤에 빈자리는 0으로 채워진다. 쉬프트연산자의 단점은 CPU마다 결과값이 달라진다. 따라서 호환성이 요구되는경우에는 쉬..
MSB는 최상위 비트 또는 최상위 바이트가 있다. 정수의 표현방식은 바이트와는 상관없다. 바이트의 크기가 크면그만큼 넓은 범위의 정수를 표현할수있을 뿐이다. 흔히 하는 착각이 이런 경우이다. 단순히 MSB만 달라지면 부호가 달라지는줄 안다. 허나 전혀 그렇지않다. +5를 -5로 바꿀려면 2의보수를 취해야한다. 2의 보수는 머냐면 0은 1로 바꾸고 1은 0으로 바꾼다. 이것을 1의 보수라고 하며 2의 보수는 1의 보수를 한 상태에서 +1을 하게 되면 그게 바로 2의 보수이다. 이렇게 2의 보수를취해주면 값의 부호가 바뀐다. 반대로 -5에서 +5를 만들려고 해도 똑같이 2의보수를 취해주면 되는것이다. 부호를 바꿀땐 무조건2의보수를 취해줘야된다는걸 잊지말고 머릿속에 새겨넣자.
데이터 표현방식에서 가장 첫번째로는 진수가 있겠다. 진수는 다들 알고있는 흔한 2 , 8 , 10 , 16 .... n 진수이다. 우리는 일상생활에서 10진수를 사용하고 있다. 2진수는 ?0과 1로 데이터를 표현하는 방식 8진수는 ?0 ~ 7 까지가다가 10 11 12로 넘어간다. 10 = 8 , 11 = 9 , 12 = 10 인것이다. 16진수는 ?0~9까지는 자연수로 가다가 그 이후A~F까지 표현하다가 다시 오바되면00~0F , 10~1F , 20~2F이런 규칙성을 가지고 있다. 비트와 바이트 1비트가 8비트가 되면 1바이트가 된다. 2바이트는 16비트가 모여서 2바이트가 된것이다. 1바이트당 하나의 주소가 있다. 나중에 뒷단원으로 가다보면 심화설명이 있겠다. 2진수 10진수 변환법 예를 들어서 11..