반응형

C 251

C의 정수 값에서 비트 단위의 데이터를 얻으려면 어떻게 해야 합니까?

C의 정수 값에서 비트 단위의 데이터를 얻으려면 어떻게 해야 합니까? 10진수의 비트를 추출하고 싶습니다. 예를 들어, 7은 바이너리 0111이며, bool에 저장된 모든 비트를 01 1 1로 얻으려고 합니다.어떻게 하면 될까요? 좋아요, 루프는 좋은 옵션이 아닙니다.다른 방법이 있을까요?n의 k번째 비트를 원하시면 (n & ( 1 > k 여기서는 마스크를 만들고 마스크를 n에 적용한 다음 마스크된 값을 오른쪽으로 이동하여 원하는 비트만 가져옵니다.다음과 같이 보다 상세하게 기술할 수 있습니다. int mask = 1 > k; 비트 마스킹에 대한 자세한 내용은 여기를 참조하십시오. 다음은 프로그램입니다. #include #include int *get_bits(int n, int bitswanted){ ..

programing 2022.06.25

Linux에서 C에서 셸 스크립트를 실행하는 방법

Linux에서 C에서 셸 스크립트를 실행하는 방법 Linux에서 C에서 셸 스크립트를 실행하려면 어떻게 해야 합니까?스크립트(또는 실행하는 다른 프로그램)로 수행하는 작업에 따라 달라집니다. 스크립트를 실행하는 것이 가장 쉬운 방법이지만 셸을 실행하고 명령어를 실행하는 등 다른 작업도 수행합니다(대부분 *nix의 /bin/sh). 표준 입력을 통해 셸 스크립트를 공급하거나 표준 출력을 소비하는 경우 사용할 수 있습니다.popen(그리고pclose)를 사용하여 파이프를 설정합니다.또한 셸(대부분 *nix 아래의 /bin/sh)을 사용하여 명령을 실행합니다. 이 두 가지 기능은 모두 많은 기능을 하는 라이브러리 기능입니다.다만, 이러한 기능이 요구에 응하지 않는 경우(또는 실험해 보고 학습하고 싶은 경우)에..

programing 2022.06.23

플로트를 최소 증분(또는 그에 근접)으로 변경하는 방법은 무엇입니까?

플로트를 최소 증분(또는 그에 근접)으로 변경하는 방법은 무엇입니까? 나는 가지고 있다double가치f가능한 한 원본에 가깝지만 원본보다 훨씬 큰(또는 더 작은) 새로운 값을 얻기 위해 매우 큰(또는 더 작은) 방법을 원합니다. 마지막 비트에 근접할 필요는 없습니다.어떤 변경을 하든 원래 값으로 반올림하지 않고 다른 값을 생성하는 것이 더 중요합니다.math.h 파일을 확인합니다.운이 좋으면 및 함수가 정의되어 있습니다.C99 규격의 일부로서 포터블 및 플랫폼에 의존하지 않는 방법으로, 고객이 원하는 대로 동작합니다. 이를 위한 또 다른 방법(예비 솔루션일 수 있음)은 플로트를 가수 및 지수 부품으로 분해하는 것입니다.증분은 간단합니다. 1개만 더하면 됩니다.오버플로가 발생하면 지수를 증가시켜 이 문제를..

programing 2022.06.22

C에서 연산자는 무엇을 합니까?

C에서 연산자는 무엇을 합니까? 이렇게 생긴 C의 선을 봤어요. !ErrorHasOccured() ??!??! HandleError(); 올바르게 컴파일 되어 정상적으로 동작하고 있는 것 같습니다.에러가 발생했는지 확인하고, 발생했을 경우 대처하고 있는 것 같습니다.하지만 나는 그것이 실제로 무엇을 하고 있는지 어떻게 하고 있는지 잘 모르겠다.프로그래머가 오류에 대한 감정을 표현하려는 것처럼 보입니다. 나는 본 적이 없다??!??!이전에 어떤 프로그래밍 언어에서도 문서를 찾을 수 없었습니다. (Google은 다음과 같은 검색어를 지원하지 않습니다.)??!??!)의 기능 및 코드 샘플의 동작 방법.??!를 번역하는 3각 문자입니다.|라고 써있네요 !ErrorHasOccured() || HandleError..

programing 2022.06.22

C 매크로 값에서 char 문자열을 만드는 방법

C 매크로 값에서 char 문자열을 만드는 방법 예를 들어 'func_name'을 두 번 쓰지 않도록 하려면 어떻게 해야 할까요? #ifndef TEST_FUN # define TEST_FUN func_name # define TEST_FUN_NAME "func_name" #endif 나는 진실의 단일점 규칙을 따르고 싶다. C 프리프로세서 버전: $ cpp --version cpp (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14) 수줍음이* 많은 분이 당신에게 대답의 싹을 주었지만, 단지 싹만 주셨습니다.C 프리프로세서에서 값을 문자열로 변환하는 기본 기술은 실제로 '#' 연산자를 사용하는 것이지만 제안된 솔루션의 단순한 변환에서는 다음과 같은 컴파일 오류가 발생합니다. #defi..

programing 2022.06.22

예외 코드 "EXC_I386_GPFLT"의 의미는 무엇입니까?

예외 코드 "EXC_I386_GPFLT"의 의미는 무엇입니까? 예외 코드의 의미는 무엇입니까?EXC_I386_GPFLT? 상황에 따라 의미가 달라집니까? 이 경우 예외 유형을 말합니다.EXC_BAD_ACCESS예외 코드 포함EXC_I386_GPFLT 이 프로그램은 Xcode 5.0.1로 개발되어 있으며,cblas_zgemm()BLAS 라이브러리의(글쎄, 그건 상관없을 것 같은데...) 정말 감사합니다!EXC_I386_GPFLT는 "General Protection fault(일반 보호 장애)"를 의미하며, 이는 x86이 "사용할 수 없는 작업을 수행했습니다"라고 알려주는 방법입니다.일반적으로 메모리 범위를 벗어나 액세스한다는 의미는 아니지만, 코드가 범위를 벗어나 잘못된 코드/데이터를 사용하여 일종의 보..

programing 2022.06.22

단일 비트를 설정, 삭제 및 전환하려면 어떻게 해야 합니까?

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

programing 2022.06.21

정렬을 수행하기 위한 C 라이브러리 함수

정렬을 수행하기 위한 C 라이브러리 함수 C standard library에서 정렬할 수 있는 라이브러리 기능이 있나요? qsort()당신이 찾고 있는 기능이에요.데이터 배열에 대한 포인터, 배열 내의 요소 수, 각 요소의 크기 및 비교 함수를 사용하여 호출합니다. 이 기능은 기능을 발휘하여 어레이가 제자리에 정렬됩니다.예를 들어 다음과 같습니다. #include #include int comp (const void * elem1, const void * elem2) { int f = *((int*)elem1); int s = *((int*)elem2); if (f > s) return 1; if (f < s) return -1; return 0; } int main(int argc, char* argv..

programing 2022.06.21

C 프로그래밍 언어는 객체 지향입니까?

C 프로그래밍 언어는 객체 지향입니까? C와 C++에 대해 동료와 이야기를 하고 있었는데, 그는 C가 객체 지향적이라고 주장했지만, 나는 그렇지 않다고 주장했습니다.C에서는 오브젝트 지향적인 것을 할 수 있는 것은 알지만, C++는 진정한 오브젝트 지향 언어입니다. 어떻게 생각하세요? 또한, 그것은 누가 객체 지향의 의미를 결정하는지, 그리고 객체 지향의 진짜 의미를 공식적으로 말하기가 어렵다는 것에 대한 논의를 촉발시켰다.이것에 대해 어떻게 생각하세요?"C 객체가 지향적이냐"는 것이 "C가 객체 지향 프로그래밍을 지원하기 위해 특별히 설계되었는가?"를 의미한다면, 아니요, C는 분명히 객체 지향적이지 않습니다.C는 객체 지향 언어가 아닙니다.C는 구조화된 프로그래밍을 지원하는 범용 명령어입니다.C는 객..

programing 2022.06.20

Linux 커널 코드에서 "EXPORT_SYMBOL"의 의미는 무엇입니까?

Linux 커널 코드에서 "EXPORT_SYMBOL"의 의미는 무엇입니까? 여기서부터 48 struct snd_card *snd_cards[SNDRV_CARDS]; 49 EXPORT_SYMBOL(snd_cards); 나는 그것의 의미와 그것이 왜 사용되는지 이해할 수 없다.나는 그것에 대해 알아보려고 했지만 그것의 의미를 이해하지 못했다. 동적으로 로드된 모듈에 접근할 수 단, 모듈이 "Dynamic하게 로드된 모듈"을 합니다).extern선언)을 클릭합니다. 얼마 전에 어떤 분이 사용법을 물어보셨어요.여기 좋은 설명이 있다. https://www.quora.com/What-is-the-difference-between-extern-and-EXPORT_SYMBOL-in-Linux-kernel-codes ..

programing 2022.06.20
반응형