C语言 一段简单的代码计算(int的范围) - 编程语言

博主:xiaoweixiaowei 2023-01-18 条评论


我们知道,


int


的大小在大多数计算机里面存储长度是


4


个字节


如果,最高位被符号位占领,那么他的取值区间就是


– ~  -1



我们可以用一小段代码来计算这个长度



#include



<stdio.h>



#include



<stdint.h>



#include



<wchar.h>


 



int





main



(



void



)


{


    printf(


"PTRDIFF_MIN    = %tdn"


, PTRDIFF_MIN);


    printf(


"PTRDIFF_MAX    = %+tdn"


, PTRDIFF_MAX);


    printf(


"SIZE_MAX       = %zun"


, SIZE_MAX);


    printf(


"SIG_ATOMIC_MIN = %+jdn"


,(



intmax_t



)SIG_ATOMIC_MIN);


    printf(


"SIG_ATOMIC_MAX = %+jdn"


,(



intmax_t



)SIG_ATOMIC_MAX);


    printf(


"WCHAR_MIN      = %+jdn"


,(



intmax_t



)WCHAR_MIN);


    printf(


"WCHAR_MAX      = %+jdn"


,(



intmax_t



)WCHAR_MAX);


    printf(


"WINT_MIN       = %jdn"


, (



intmax_t



)WINT_MIN);


    printf(


"WINT_MAX       = %jdn"


, (



intmax_t



)WINT_MAX);


    printf(


"[-%lld]-[+%lld]n"


,


1ll


<<

(

sizeof

(



int



)

*



8






1


) ,(


1ll


<<

(

sizeof

(



int



)

*



8






1


))





1


);


}


weiqifa@ubuntu:~/c/sizeof$ gcc sizeof.c && a.out 


PTRDIFF_MIN = -9223372036854775808


PTRDIFF_MAX = +9223372036854775807


SIZE_MAX = 18446744073709551615


SIG_ATOMIC_MIN = -2147483648


SIG_ATOMIC_MAX = +2147483647


WCHAR_MIN = -2147483648


WCHAR_MAX = +2147483647


WINT_MIN = 0


WINT_MAX = 4294967295


[-2147483648]-[+2147483647]


weiqifa@ubuntu:~/c/sizeof$


里面提到的


WCHARMIN WCHAR_MAX


关于他们的介绍如下

Numeric limits – cppreference.com



这个文件的位置在


/usr/include/limits.h


截图看看里面的内容


<img src="https://www.gcsjs.com/zhujipingce/d/file/2023/01/16/v2-6207fd81c4b0f1cba66dc36700c23911_b.jpg" data-size="normal" data-rawwidth="919" data-rawheight="394" class="origin_image zh-lightbox-thumb" width="919" data-original="https://www.gcsjs.com/zhujipingce/d/file/2023/01/16/v2-6207fd81c4b0f1cba66dc36700c23911_r.jpg">


图上有


CHAR


的大小


<img src="https://www.gcsjs.com/zhujipingce/d/file/2023/01/16/v2-b4cb8b1515ddfc3ff75a981e9396a17e_b.jpg" data-size="normal" data-rawwidth="970" data-rawheight="448" class="origin_image zh-lightbox-thumb" width="970" data-original="https://www.gcsjs.com/zhujipingce/d/file/2023/01/16/v2-b4cb8b1515ddfc3ff75a981e9396a17e_r.jpg">


图上有


int


的大小

The End

发布于:2023-01-18,除非注明,否则均为 主机评测原创文章,转载请注明出处。