`

C中怎样合理决定使用那种整数类型?

阅读更多

如果需要大数值(大于32767或小于32767), 使用long 型。 否则, 如果空间很重要 (如有大数组或很多结构), 使用 short 型。 除此之外, 就使用 int 型。 如果严格定义的溢出特征很重要而负值无关紧要, 或者你希望在操作二进制位和字节时避免符号扩展的问题, 请使用对应的无符号类型。 但是, 要注意在表达式中混用有符号和无符号值的情况。

 

        尽管字符类型 (尤其是无符号字符型) 可以当成 “小” 整型使用, 但由于不可预知的符号扩展和代码增大有时这样做可能得不偿失。 使用无符号字符型有所帮助;

 

        在选择浮点型和双精度浮点型时也有类似的权衡。 但如果一个变量的指针必须为特定的类型时, 以上规则不再适用。

 

        如果因为某种原因你需要声明一个有严格大小的变量, 确保象 C99 的 <inttypes.h > 那样用某种适当的 typedef 封装这种选择。 通常, 这样做唯一的好原因是试图符合某种外部强加的存储方案。

 

        如果你需要操作超过 C 的内置类型支持的超大变量。

 

来源:http://www.hxstrive.com/article/137.htm

分享到:
评论

相关推荐

    你必须知道的495个C语言问题

    1.1 我如何决定使用那种整数类型? 如果需要大数值(大于32, 767 或小于¡32, 767), 使用long 型。否则, 如果空 间很重要(如有大数组或很多结构), 使用short 型。除此之外, 就使用int 型。如 果严格定义的溢出特征很...

    C常见的问题集合(非常精彩)特别适用于想深入学习C语言或者做单片机、做嵌入式的同学

    1.1 我如何决定使用那种整数类型? 1.2 64 位机上的 64 位类型是什么样的? 1.3 怎样定义和声明全局变量和函数最好? 1.4 extern 在函数声明中是什么意思? 1.5 关键字 auto 到底有什么用途? 1.6 我似乎不能成功...

    C语言常见的问题集

    1.1 我如何决定使用那种整数类型? 如果需要大数值 (大于 32,767 或小于 −32,767), 使用 long 型。否则, 如果空 间很重要 (如有大数组或很多结构), 使用 short 型。除此之外, 就使用 int 型。如 果严格定义的溢出...

    495个C语言问题.pdf

    1.1 我如何决定使用那种整数类型? 如果需要大数值(大于32, 767 或小于¡32, 767), 使用long 型。否则, 如果空 间很重要(如有大数组或很多结构), 使用short 型。除此之外, 就使用int 型。如 果严格定义的溢出特征很...

    《你必须知道的495个C语言问题》

    我如何决定使用那种整数类型? 1.2 64 位机上的64 位类型是什么样 1.3 怎样定义和声明全局变量和函数最好?

    《C语言常见问题》(P153)()严立钻监制20140701-08251

    声明和初始化我如何决定使用那种整数类型?.64 位机上的 64 位类型是什么样的?.怎样定义和声明全局变量和函数最好?.extern 在函数声明中是什么意思?.

    千方百计c语言部分(约500题).

    1.1 我如何决定使用那种整数类型?................... 1 1.2 64 位机上的64位类型是什么样的? ................ 1 1.3 怎样定义和声明全局变量和函数最好? ............... 2 1.4 extern 在函数声明中是什么意思...

    你必须知道的495个C语言问题.pdf

    1.1 我该如何决定使用哪种整数类型? 1.2 为什么不精确定义标准类型的大小? 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、...

    c语言中获取整数和浮点数的符号位

    本文主要介绍c语言中如何获取整数和浮点数的符号位问题,感性趣的朋友可以看看。

    C语言常见问题集 原著:Steve Summit

    2.1 我如何决定使用那种整数类型? 2.2 64 位机上的 64 位类型是什么样的? 2.3 怎样定义和声明全局变量和函数最好? 2.4 extern 在函数声明中是什么意思? 2.5 关键字 auto 到底有什么用途? 2.6 我似乎不能...

    单片机C语言程序整数分离

    单片机C语言程序整数分离

    c语言实现一种使用栈的整数加减乘除计算器

    c语言实现的整数加减乘除运算,实现竖式表达,可以连续运算,采用栈的方式完成四则运算中的先乘除后加减。

    大整数正负类型class模板

    大整数类型模板,各个接口已经封装完成,拿到就可以用,万分推荐!!! 大整数类型模板,各个接口已经封装完成,拿到就可以用,万分推荐!!! 大整数类型模板,各个接口已经封装完成,拿到就可以用,万分推荐!!!...

Global site tag (gtag.js) - Google Analytics