실수형, 정수형 정리

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> int main(void) { /* 나는 여기서 정수형 변수와 실수형 변수에 대해 제대로 이해하고자 적어둔다. */ // (정수형 변수) // 가장 보편적으로 사용되는 int 함수이다. char num1 = -10; short num2 = 30000; int num3 = -1234567890; long num4 = 1234567890; long long num5 = -1234567890123456789; // char, short, int는 %d로 출력하고 long은 %ld, long long은 %lld로 출력 printf("%d %d %d %ld %lld\n", num1, num2, num3, num4, num5); // -10 30000 -1234567890 1234567890 -1234567890123456789 /* 1. char의 크기는 8bit이고 값의 범위는 -128 ~ +127이다. 2. short의 크기는 16bit이고 값의 범위는 -32,768 ~ +32,767이다. 3. int의 크기는 32bit이고 값의 범위는 -2,147,483,646 ~ + 2,147,483,647(21억~)이다. 4. long의 크기는 32bit이고 값의 범위는 -2,147,483,646 ~ + 2,147,483,647(21억~)이다. 5. long long의 크기는 64bit이고 값의 범위는 약 -1해(-9223경) ~ 약 1해(9223경)이다. Tip. C언어에서 int와 long은 크기나 부호 여부가 동일하며 따라서 표현할 수 있는 수의 범위도 완전히 동일한 것처럼 보입니다. 그렇지만 어밀히 말하면 다른타입입니다. C언어의 타입 정의에 int형은 "CPU의 레지스터와 동일한 크기를 가지는 타입"으로 정의되어 있습니다. 레지스터란 CPU내의 임시 기억 장소이며 레지스터의 크기에 따라 CPU의 비트수를 정의합니다. 즉, 레지스터가 16비트이면 16비트 컴퓨터, 32비트이면 32비트 컴퓨터라고 부릅니다. 즉, int형은 CPU가 가장 효율적으로 다룰 수 있는 정수형으로 정의되어 있으며 그래서 int형의 실제 크기는 플랫폼에 따라 달라집니다. 32비트 운영체제에서 int는 32비트이며, 64비트는 int형이 64비트(8바이트)가 될 것입니다. 반면 long형은 그 크기가 4바이트로 고정되어 있어 어떤 플랫폼에서나 4바이트입니다. int와 long이 동일한 크기를 가지는 것은 32비트 플랫폼에서 뿐이며 16비트에서는 다른 타입이고 64비트에서도 달라질 것입니다. */ // (실수형 변수) float ber1 = 0.1f; // 단정밀도 부동소수점 변수를 선언하고 값을 할당 /* float는 숫자 뒤에 f를 붙임 why? = f를 붙이지 않으면 double로 인식하게 되기 때문.*/ double ber2 = 3867.215820; // 배정밀도 부동소수점 변수를 선언하고 값을 할당 // double은 숫자 뒤에 아무것도 붙이지 않음 long double ber3 = 9.327513l; // 배정밀도 부동소수점 변수를 선언하고 값을 할당 // long double은 숫자 뒤에 l을 붙임 // float와 double은 %f로 출력, long double은 %Lf로 출력 printf("%f %f %Lf\n", ber1, ber2, ber3); // 0.100000 3867.215820 9.327513 /* tip. 결과값에서 소수점 뒷자리에 제한을 두는 방법에는 %f에서 %와 f사이에 소수점 .를 놓고 그 뒤에 소수점 몇 자리까지 표시할 것인지 숫자를 적어주면 됩니다. ex) %.2f = 0.00 */ return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines