ldiv (Numerics) – C 중국어 개발 매 뉴 얼

[
  •   C 语言中文开发手册

    ldiv (Numerics) - C 中文开发手册

    在头文件中定义
    div_t div( int x, int y ); (1)
    ldiv_t ldiv( long x, long y ); (2)
    lldiv_t lldiv( long long x, long long y ); (3) (since C99)
    Defined in header
    imaxdiv_t imaxdiv( intmax_t x, intmax_t y ); (4) (since C99)

    用分母x来计算分子除法的商和余数y。

    同时计算商和余数。商是丢弃任何小数部分的代数商(截断为零)。剩下的就是“* y + rem == x”。 (直到C99)
    同时计算商(表达式x / y的结果)和余数(表达式x%y的结果)。 (自C99以来)

    参数

    x,y - 整数值

    返回值

    如果这两个余数和商可以表示为相应的类型的对象(INT,很久长,imaxdiv_t,分别地),同时返回作为类型的对象div_t,ldiv_t,lldiv_t,imaxdiv_t定义如下:

    div_t

    struct div_t { int quot; int rem; };

    아니면
    struct div_t { int rem; int quot; };

    ldiv_t
    struct ldiv_t { long quot; long rem; };

    아니면
    struct ldiv_t { long rem; long quot; };

    lldiv_t
    struct lldiv_t { long long quot; long long rem; };

    아니면
    struct lldiv_t { long long rem; long long quot; };

    imaxdiv_t
    struct imaxdiv_t { intmax_t quot; intmax_t rem; };

    아니면
    struct imaxdiv_t { intmax_t rem; intmax_t quot; };

    만약 나머지 나 상인 이 표시 할 수 없다 면, 행 위 는 불확실 하 다.
    필기 하 다.
    C99 이전에 만약 에 두 개의 조작 수 중 어느 하나 가 음수 라면 내 장 된 나눗셈 연산 자 와 나머지 연산 자 에서 업 체 의 반올림 방향 과 나머지 기 호 는 정 의 를 실현 하지만 div 와 에서 명확 한 Idiv 를 정의 합 니 다. 많은 플랫폼 에서 하나의 CPU 명령 은 업 체 와 여 수 를 얻 고 이 함 수 는 이 명령 을 이용 할 수 있 습 니 다. 비록 컴 파일 러 는 보통적당 한 곳 에서 near / 와% 를 합병 합 니 다.
    예.
    #include 
    #include 
    #include 
     
    // demo only: does not check for buffer overflow
    void itoa(int n, int base, char* buf)
    {
        div_t dv = {.quot = n};
        char* p = buf;
        do {
            dv = div(dv.quot, base);
            *p++ = "0123456789abcdef"[abs(dv.rem)];
        } while(dv.quot);
        if(n<0) *p++ = '-';
        *p-- = '\0';
        while(buf < p) { char c = *p; *p-- = *buf; *buf++ = c; } // reverse
    }
     
    int main(void)
    {
        char buf[100];
        itoa(12346, 10, buf);
        printf("%s
    ", buf); itoa(-12346, 10, buf); printf("%s
    ", buf); itoa(65535, 16, buf); printf("%s
    ", buf); }

    출력:
    12346
    -12346
    ffff

    레 퍼 런 스
    C11 표준 (ISO / IEC 9899: 2011): 7.8.2.2 imaxdiv 함수 (p: 219) 7.22.6.2 div, ldiv 와 lldiv 함수 (p: 356) C99 표준 (ISO / IEC 9899: 1999): 7.8.2.2 imaxdiv 함수 (p: 200) 7.20.6.2 div, ldiv 와 lldiv 함수 (p: 320) C89 / C90 표준 (ISO / IEC 9899: 1990): 4.10 div t, ldiv t 4.10.6.2 div 함수 4.10.6.4 ldiv 함수
      C 언어 중국어 개발 매 뉴 얼
  • ]
      제목: Idiv (Numerics) – C 중국어 개발 매 뉴 얼 - Break 역

    전 재 는 페이지 주 소 를 유지 하 십시오:https://www.breakyizhan.com/c-3/27601.html

    좋은 웹페이지 즐겨찾기