반응형

C 32

무한대 = 0x3f3f3f인 이유는 무엇입니까?

무한대 = 0x3f3f3f인 이유는 무엇입니까? 어떤 상황에서는 일반적으로 무한대를 나타낼 수 있을 만큼 충분히 큰 정수 값을 사용합니다.저는 보통 가장 큰 양/음의 정수를 사용합니다.오버플로를 방지하려면 사실상 모든 산술 연산을 수행하기 전에 피연산자 중 하나가 무한대인지 확인해야 하기 때문에 일반적으로 더 많은 코드를 얻을 수 있습니다.때때로 포화 정수 연산을 갖는 것이 바람직할 것입니다.이러한 이유로, 어떤 사람들은 넘침 없이 몇 번을 더하거나 곱할 수 있는 무한대에 대한 더 작은 값을 사용합니다.흥미를 끄는 것은 (특히 프로그래밍 대회에서) 매우 흔히 볼 수 있다는 사실입니다. const int INF = 0x3f3f3f3f; 왜 그 번호가 특별합니까?이항 표현은 다음과 같습니다. 00111111..

programing 2023.11.06

목표 C UIC 색상 상수 정의

목표 C UIC 색상 상수 정의 제 테마에 맞는 사용자 정의 색상이 몇 가지 있는 아이폰 애플리케이션이 있습니다.이러한 색상은 제 UI에 맞게 고정되므로 포함할 클래스의 색상을 정의하고자 합니다(Constants.h 및 Constants.m).어떻게 해야 합니까? (UIC 색상은 가변적이며 오류를 발생시킬 수 있기 때문에 단순하게 정의하는 것은 작동하지 않습니다 - 이니셜라이저는 일정하지 않습니다.) /* Constants.h */ extern UIColor *test; /* Constants.m */ UIColor *test = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]; 감사합니다!UI 색상은 변경할 수 없습니다.저는 주로 컬러, 폰트, 이미지..

programing 2023.11.01

배열에서 사전 증분 대 사후 증분

배열에서 사전 증분 대 사후 증분 저는 프로그래밍을 배우고 있고 C언어부터 시작했습니다.Let's C book을 읽고 있었습니다.저는 그 책에서 이 프로그램을 경험하고 있었습니다. main( ) { int a[5] = { 5, 1, 15, 20, 25 } ; int i, j, k = 1, m ; i = ++a[1] ; j = a[1]++ ; m = a[i++] ; printf ( "\n%d %d %d", i, j, m ) ; } 제가 알기로는 인쇄가 될 겁니다i as 2,j as 1그리고.m as 15 하지만 어찌된 일인지 인쇄는i as 3,j as 2그리고.m as 15? 왜 그럴까요? 아래는 제 이해입니다. b = x++; In this example suppose the value of variab..

programing 2023.10.27

C/C++에서 (식이) 진행되는 동안 세미콜론이 필요한 이유는 무엇입니까?

C/C++에서 (식이) 진행되는 동안 세미콜론이 필요한 이유는 무엇입니까? 내 생각엔 파싱이 더 쉬워진 것 같은데, 왜 그런지 정확히 알 수가 없네요. 그럼 이게 뭐가... do { some stuff } while(test); more stuff 그것이 ...보다 낫습니다 do { some stuff } while(test) more stuff 당신이 그 진술을 끝내려고 하니까요.문장은 블럭(괄호꼴로 구분됨) 또는 세미콜론으로 끝납니다."do this while this"는 하나의 문장으로, 블록으로 끝날 수 없기 때문에 다른 문장과 마찬가지로 세미콜론이 필요합니다.C++ 문법을 보면 반복문은 다음과 같이 정의됩니다. 하는 동안에 조건. ) 진술 (-init-statement condition-opt;..

programing 2023.10.22

재정의는 C에서는 허용되지만 C++에서는 허용되지 않습니까?

재정의는 C에서는 허용되지만 C++에서는 허용되지 않습니까? 이 코드는 C에서는 작동하지만 C++에서는 작동하지 않는 이유는 무엇입니까? int i = 5; int i; // but if I write int i = 5; again I get error in C also int main(){ // using i } 잠정적 정의는 C에서는 허용되지만 C++에서는 허용되지 않습니다. 잠정적인 정의는 스토리지 클래스 지정자와 초기화자가 없는 모든 외부 데이터 선언입니다. C99 6.9.2/2 이니셜라이저 없이 fi틀 범위를 가지며, 스토리지 클래스 지정자가 없거나 스토리지 클래스 지정자가 정적인 개체에 대한 식별자 선언은 잠정적인 디fi네이션을 구성합니다.번역 단위가 식별자 fi에 대한 하나 이상의 잠정적인 fi을 ..

programing 2023.10.22

유형 캐스팅에 추가 CPU 주기가 소모됩니까?

유형 캐스팅에 추가 CPU 주기가 소모됩니까? C/C++에서 Type Casting을 하면 CPU 사이클이 추가됩니까? 적어도 특정한 경우에는 CPU 사이클을 추가로 소비해야 한다고 생각합니다.CPU가 플로트 구조를 정수로 변환해야 하는 플로트에서 정수로의 유형 캐스팅과 유사합니다. float a=2.0; int b= (float)a; CPU 사이클이 추가로 소모되는 경우를 이해하고 싶습니다.출연자가 있는지 없는지가 아니라 '유형 간의 대화'가 우리가 봐야 할 부분이라고 말씀드리고 싶습니다.예를들면 int a = 10; float b = a; 다음과 같을 것입니다. int a = 10; float b = (float)a; 이는 유형의 크기를 변경하는 경우에도 적용됩니다. char c = 'a'; int ..

programing 2023.10.22

C의 부호 없는 값

C의 부호 없는 값 다음 코드가 있습니다. #include int main() { unsigned int a = -1; int b = -1; printf("%x\n", a); printf("%x\n", b); printf("%d\n", a); printf("%d\n", b); printf("%u\n", a); printf("%u\n", b); return 0; } 출력은 다음과 같습니다. ffffffff ffffffff -1 -1 4294967295 4294967295 다음으로 전달된 값에 따라 값이 서명된 것으로 해석되거나 서명되지 않은 것으로 해석되는 것을 볼 수 있습니다.printf기능.두 경우 모두 바이트 수는 동일합니다(ffffffff). 그렇다면 무엇입니까?unsigned단어는?할당합니다.in..

programing 2023.10.17

C의 잠정적인 정의의 근거는 무엇입니까?

C의 잠정적인 정의의 근거는 무엇입니까? 다음 프로그램을 고려해 봅니다.이것으로 컴파일 오류가 발생합니까? #include int s=5; int s; int main(void) { printf("%d",s); } 언뜻 보기에 컴파일러는 가변적인 재정의 오류를 줄 것 같지만 프로그램은 C 표준에 따라 완벽하게 유효합니다. (여기 http://ideone.com/Xyo5SY) 라이브 데모 참조). 잠정적인 정의는 스토리지 클래스 지정자와 초기화자가 없는 모든 외부 데이터 선언입니다. C99 6.9.2/2 이니셜라이저 없이 fi틀 범위를 가지며, 스토리지 클래스 지정자가 없거나 스토리지 클래스 지정자가 정적인 개체에 대한 식별자 선언은 잠정적인 디fi네이션을 구성합니다.번역 단위가 식별자 fi에 대한 하나 이상의..

programing 2023.10.17
반응형