반응형

C 36

싱글 비트를 설정, 클리어 및 토글하려면 어떻게 해야 합니까?

싱글 비트를 설정, 클리어 및 토글하려면 어떻게 해야 합니까? 설정, 클리어 및 전환 방법은 무엇입니까?비트 설정 연산자OR')를 합니다.|을 클릭합니다. number |= 1UL n) & 1U; 그 때문에, 의 가치가 높아집니다.n of of의 number 「」로bit. n번째 비트를 x로 변경 의 설정n를 """ 중 하나로 합니다.1 ★★★★★★★★★★★★★★★★★」0 2 의C++에서는, 다음과 할 수 .: 、 2 + C++ 、 음 、 음음음 。 number ^= (-x ^ number) & (1UL

source 2023.02.06

C 프로그래밍:전달 변수 인수 목록

C 프로그래밍:전달 변수 인수 목록 printf와 같은 변수 개수를 받아들여 몇 가지 작업을 한 다음 변수 목록을 printf로 전달하는 함수를 작성하려고 합니다.스택에 밀어 넣어야 할 것 같아서 어떻게 해야 할지 모르겠어요. 대략 이런 거 http://pastie.org/694844 #include #include void forward_args( const char *format , ... ){ va_list arglist; printf( format, arglist ); } int main (int argc, char const *argv[]){ forward_args( "%s %s\n" , "hello" , "world" ); return 0; } 좋은 생각 있어요?결과 전달 안 함printf에 ..

source 2022.12.24

printf()에서 0 뒤에 오는 것을 피합니다.

printf()에서 0 뒤에 오는 것을 피합니다. printf() 함수 패밀리의 포맷 지정자에 자꾸 문제가 생깁니다.제가 원하는 것은 소수점 뒤에 최대 자리수를 가진 두 자리(또는 부동)를 인쇄할 수 있는 것입니다.사용하는 경우: printf("%1.3f", 359.01335); printf("%1.3f", 359.00999); 나는 이해한다 359.013 359.010 원하는 대신 359.013 359.01 누가 나 좀 도와줄래?후행 0을 제거하려면 "%g" 형식을 사용해야 합니다. float num = 1.33; printf("%g", num); //output: 1.33 질문이 조금 명확해진 후 0을 억제하는 것만이 아니라 출력을 소수점 이하 3자리까지 제한하는 것도 요구되었습니다.나는 그것이 sp..

source 2022.11.15

정수 해시 키를 사용할 수 있는 정수 해시 함수는 무엇입니까?

정수 해시 키를 사용할 수 있는 정수 해시 함수는 무엇입니까? 정수 해시 키를 사용할 수 있는 정수 해시 함수는 무엇입니까?나는 다음 알고리즘이 매우 좋은 통계 분포를 제공한다는 것을 알았다.각 입력 비트는 약 50% 확률로 각 출력 비트에 영향을 줍니다.충돌은 없습니다(각 입력 결과 서로 다른 출력이 됩니다).CPU에 내장 정수 곱셈 단위가 없는 경우를 제외하고 알고리즘은 고속입니다. 코드(C를 전제로 함)int의 경우(Java)를 바꿉니다)>>>>>unsigned unsigned int hash(unsigned int x) { x = ((x >> 16) ^ x) * 0x45d9f3b; x = ((x >> 16) ^ x) * 0x45d9f3b; x = (x >> 16) ^ x; return x; } 매..

source 2022.11.15

어레이 구문과 포인터 구문 및 코드 생성 비교

어레이 구문과 포인터 구문 및 코드 생성 비교 리처드 리스의 "C 포인터 이해와 사용"이라는 책에 85페이지에 나와 있습니다. int vector[5] = {1, 2, 3, 4, 5}; 「 」가 .vector[i]입니다.*(vector+i).vector[i]는 로케이션 벡터에서 시작하는 머신 코드를 생성합니다. i이 위치에서 위치를 지정하고 해당 내용을 사용합니다. 「」*(vector+i)는 로케이션에서 합니다.vector, 가 추가됩니다. i해당 주소로 전송한 후 해당 주소의 내용을 사용합니다.결과는 동일하지만 생성된 기계 코드가 다릅니다.대부분의 프로그래머에게 이 차이는 거의 중요하지 않습니다. 여기서 발췌를 보실 수 있습니다.이 글의 의미는 무엇입니까?어떤 맥락에서 컴파일러가 이 두 가지에 대해 다..

source 2022.11.05

동적으로 확장되는 어레이

동적으로 확장되는 어레이 게임 내 엔티티의 「raw」리스트를 읽어내는 프로그램이 있어, 여러가지 처리를 위해서 엔티티의 인덱스 번호(int)를 가지는 어레이를 만들 생각입니다.이러한 인덱스를 유지하기 위해 메모리나 CPU를 너무 많이 사용하는 것은 피하고 싶습니다. 지금까지 사용한 빠르고 더러운 해결책은 메인 처리 기능(로컬 포커스)에서 최대 게임 엔티티의 크기를 가진 어레이를 선언하고 목록에 추가된 수를 추적하는 것입니다.모든 리스트가 3000대 이상의 어레이를 탑재하고 있기 때문에 만족할 수 없지만, 다양한 기능에 대해 6~7개의 리스트의 솔루션을 사용할 수 있기 때문에 낭비라고 생각합니다. 이를 실현하기 위한 C(C++ 또는 C#이 아닌) 고유의 솔루션은 발견되지 않았습니다.포인터는 사용할 수 있지..

source 2022.10.15
반응형