inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[10 phút mỗi ngày|C++] Giới thiệu về lập trình C++ mà ai cũng có thể dễ dàng học

Kiểu dữ liệu số nguyên và kiểu dữ liệu số thực

바이트와 관련하여서 질문이 있습니다

256

xjcl20583042

3 câu hỏi đã được viết

0

1비트에는 2가지가 들어갈 수 있고 8비트는 1바이트로 2^8 = 256가지가 들어갈 수 있다는 것을 찾아보았는데요 그렇다면 short의 경우에는 최대 바이트가 2바이트이며 가짓수가 -32767 부터 0 32767까지 이잖아요 근데 여기에서 제가 2바이트를 계산해본 결과 256*256 = 65536이고 이를 2로 나누면 32768인데 그렇다면 디버그해서 나온 값인 32767의 값은 0을 제외하고 계산하여서 이 값이 나온건가요? 어떻게 해서 32767이 나오게 된 건가요? (unsigned을 했을 경우 66535입니다)

C++

Câu trả lời 1

0

fscreen78

Short의 범위는 -32768 ~ 32767입니다.
32768 / 0 / 32767 -> 65536

#include <iostream>
#include <climits>

using namespace std;

int main()
{
	short n_short_min = SHRT_MIN;
	short n_short_max = SHRT_MAX;
	unsigned short n_short_unsigned = -1;

	int n_int_min = INT_MIN;
	int n_int_max = INT_MAX;
	unsigned int n_int_unsigned = -1;

	long n_long_min = LONG_MIN;
	long n_long_max = LONG_MAX;
	unsigned long n_long_unsigned = -1;

	long long n_llong_min = LLONG_MIN;
	long long n_llong_max = LLONG_MAX;
	unsigned long long n_llong_unsigned = -1;

	cout << "short는 " << sizeof n_short_max << " 바이트이다." << endl;
	cout << "이 바이트의 값 범위는 " << n_short_min << " ~ " << n_short_max <<" 이다" << endl;
	cout << "unsigned short는 " << n_short_unsigned << " 이다." << endl << endl;

	cout << "int는 " << sizeof n_int_max << " 바이트이다." << endl;
	cout << "이 바이트의 값 범위는 " << n_int_min << " ~ " << n_int_max <<" 이다" << endl;
	cout << "unsigned int는 " << n_int_unsigned << " 이다." << endl << endl;
		
	cout << "long은 " << sizeof n_long_max << " 바이트이다." << endl;
	cout << "이 바이트의 값 범위는 " << n_long_min << " ~ " << n_long_max << " 이다" << endl;
	cout << "unsigned long은 " << n_long_unsigned << " 이다." << endl << endl;
	
	cout << "long long은 " << sizeof n_llong_max << " 바이트이다." << endl;
	cout << "이 바이트의 값 범위는 " << n_llong_min << " ~ " << n_llong_max << " 이다" << endl;
	cout << "unsigned long long은 " << n_llong_unsigned << " 이다." << endl << endl;

	return 0;
}

null 문자가 포함되면 왜 뒤에 불필요한 것들이 사라지나요?

0

556

1

강의 중 궁금한게 있습니다.

0

400

0

포인터 연산 강의

0

372

1

강의중 궁금한 내용이 있습니다

2

489

3

(int*)이 어떤 원리인건지 잘 이해가 안되요 ㅜ

1

454

0

char형과 char 배열을 차이점이 뭔가요

0

386

0

오토를 맹신하지 말라는 것이 무슨 뜻인가요?

0

327

1

안녕하세요 class의 멤버함수에 관련하여 질문이 있습니다.

0

245

0

강의 잘 듣고있습니다. 그런데 소스코드에 오타가 있는듯합니다.

1

330

0

포인터를 증가시키거나 감소시킨 상태에서는 delete 사용이 불가능한가요?

0

457

0

const float PI =3.14159265; 로 선언하고 원의 넓이를 구할 때 궁금한 것이 있습니다.

0

655

1

iosteam 헤더 파일 중복

0

361

1

함수 뒤 세미콜론

0

318

0

함수는 원본이 아닌 복사본을 사용한다는 말에 대해서 질문있습니다

0

240

0

sizeof arr에서

0

411

3

포인터를 이용한 주소값이 이상합니다

0

286

1

출력이 안되요

0

275

0

마지막에 main.cpp 에서

1

260

0

예제코드 오타 있어요

1

201

0

함수의 대괄호 뒤에 ; 가 붙는것과 안뭍는것의 차이가 뭔가요?

0

218

0

new/delete 연산자

1

257

1

컴파일에러

1

280

1

string에서 문자열 길이

1

260

1

강의 하단 텍스트 논리곱 연산자 오타

1

173

0