C语言中, 有符号整型和有符号短整型的值域都是 -32768 ~ +32767 (无符号整型与短整型均为 0 ~ 65535),他们之间有什么区别呢?

这主要是根据机器的位数决定的 在16位机上,并没有什么差别,但是在比16位机高的机器上,短整型始终定义为16位。而这时整型为32位,长整型也为32位

1、 整型

Long long long int short 整数范围(十进制)

16位机 64 32 16 16 -32768~32767

32位机 64 32 32 16 -2147483648~2147483646

64位机 64 32 32 16 -9223372036854775808~..

2、整型输出

%d int型

%u 无符号int

%ld long型

%lu 无符号long

%hd short型

%lld long long型(某些编译器不支持)

3、数制输出 例:36

10进制: %d : 36 %d :36

8进制: %o : 44 %#o :044

16进制: %x : 24 %#x :0x24

有关整型的一些常识: a. c/c++对整型长度的规定是为了执行效率,将int定义为机器字长可以取得最大的执行速度; b. c/c++中整型包括:int, char 和 enum, c++中还包含bool类型,c99中bool是一个宏,实际为_bool; c. c 和 c++ 对 enum 的规定有所不同,这里不描述; d. 修饰整型正负的有 signed 和 unsigned,对于 int 默认为 signed; e. 修饰 int 大小的有 short 和 long, 部分编译器还扩展了一些更长的整型,比如 long long 和 __int64, c99中增加了long long和unsigned long long; f. int 的长度 与 机器字长相同, 16位的编译器上int长16位,32位的编译器上int长32位; g. short int 的长度 小于等于 int 的长度,注意她们可能长度相等,这取决于编译器; h. long int 的长度 大于等于 int 的长度,注意她们可能长度相等,这取决于编译器; i. char 的长度应当可以包容得下一个字符,大部分系统中就是一个字节,而有的系统中可能是4个字节,因为这些系统中一个字符需要四个字节来描述; j. char 的正负取决于编译器,而编译器的决定取决于操作系统,在不同的编译器中char可能等同于signed char,也可能等同于unsigned char; 总结: a. 出于效率考虑,应该尽量使用int和unsigned int; b. 当需要指定容量的整型时,不应该直接使用short、int、long等,因为在不同的编译器上她们的容量不相同。此时应该定义她们相应的宏或类型,比如在vc++6.0中,可以如下定义: typedef unsigned char ubyte; typedef signed char sbyte; typedef unsigned short int uword; typedef signed short int sword; typedef unsigned int udword; typedef signed int sdword; typedef unsigned __int64 uqword; typedef signed __int64 sqword; 然后在代码中使用 ubyte、sbyte、uword 等,这样当代码移植的时候只需要修改相应的类型即可。 定义自己的类型虽然在代码移植的时候只需要修改一处即可,但仍然属于源代码级别的修改,所以 c++ 2.0 中将这些类型定义在模板中,可以做到代码移植时无需修改代码。 c. 在定义char时,一定要加上 signed 或 unsigned,因为她的正负在不同的编译器上并不相同。 d. 不要想当然的以为char是1字节长,因为她的长度在不同的编译器上并不相同。

c语言长 短整型有无符号,整型和短整型,有符号和无符号相关推荐

  1. c语言fgetc()函数(从指定的流 stream 获取下一个字符(一个无符号字符),并把位置标识符往前移动)

    C 标准库 - <stdio.h> 文章目录 描述 声明 参数 返回值 实例 描述 C 库函数 int fgetc(FILE *stream) 从指定的流 stream 获取下一个字符(一 ...

  2. 无符号右移负数_关于负数的右移与无符号右移运算小结

    对于带符号右移,若为负数,则在存储时首位表示符号位,其值为1,表示该值是负数的移位,在移位过程中,高位补1,若符号位是0,表示是正数,在移位过程中高位补零,两者的前提是符号位保持不变: 对于负数的右移 ...

  3. python k线顶分型_顶分型和底分型的确认及K线包含处理

    在上文中,对于分型做了初步的讲解,针对创分型进一步的划分,可以得到顶分型和底分型两种.那么顶分型和底分型如何确认?今天就跟随小编来了解顶分型和底分型的确认以及K线包含处理. 第一:顶分型和底分型的确认 ...

  4. c++基本数据类型基本类型: 整型: 短整型: short int 整型: int 长整型:long int 字符型:char(分为有符号和无符号,默认有符号) 浮点型:

    基本类型: 整型: 短整型: short int 整型: int 长整型:long int 字符型:char(分为有符号和无符号,默认有符号) 浮点型:单精度型:float 双精度型:double 长 ...

  5. C语言--无符号整型

    今天在做一道题的时候,出现了无符号整型的概念,,之前由于没遇到,所以没有彻底理解无符号整形的意思,百度了很多都只讲了无符号整型和有符号整型的区别,没有怎么讲到无符号是怎么计算的,今天就来讲讲无符号整形 ...

  6. 【c语言学习课堂笔记第三天】:int函数有符号整型和无符号整型

    int 函数 有符号整型: 概念:截图 sizeof函数可查看字节数量 声明变量技巧: 随堂笔记: #include <stdio.h> #include <stdlib.h> ...

  7. C语言基础09——数据在内存中的存储。整型的存储、大小端讲解、浮点数的存储、杨辉三角、找凶手、猜名次

    目录 数据类型 基本内置类型 类型的基本分类 整型在内存中的存储 计算机中整数的三种表示方法:原码.反码.补码 大小端 练习 浮点型在内存中的存储 为什么以下程序输出结果与想象不同? 浮点数存储规则 ...

  8. java int转无符号_Java中int或long等整型数值如何转换为无符号整数

    Java8 为 Integer.Long包装类增加了如下方法: static  String  toUnsignedString(int/long i):将指定int或long型整数转换为无符号整数对 ...

  9. c语言中的无符号字符指什么,深入分析C语言中的有符号和无符号

    有符号和无符号指的是数字那么有符号和无符号的区别是什么,我们这里一起来看在C语言中的有符号和无符号分析吧,希望这篇文章能够对各位有用. 就像我们必须决定某个量使用整数还是实数,使用多大的范围数一样,我 ...

  10. c语言深度剖析(2)—有符号与无符号

    1. 数据类型 1.1 计算机中的符号位  有符号编码规则:数据的最高位用于标识数据的符号 最高位为1,表示这个数为负数 最高位为0,表示这个数为正数 无符号编码规则:数据的最高位不代表符号位 计算机 ...

最新文章

  1. 多重采样和超级采样哪个流畅_OpenGL多重采样:结果与未使用多重采样时的结果相同...
  2. Jetty在win10上的配置,IDEA中配置Jetty,Maven中配置Jetty插件,Eclipse中配置Jetty插件及其使用,通过java代码内嵌Jetty Server
  3. python中turtle画树_python中turtle可以画树吗?怎么画?
  4. 解决Too many open files问题
  5. android androidruntime java,java – Runtime.exec():在Android中重启?
  6. 乡镇上那些卖散白酒的一天不见几个人买,为什么不关店?
  7. linux xargs命令选项,使用xargs命令在Linux中执行多个操作 | MOS86
  8. Expect学习笔记(1)
  9. 猫癣病毒躲猫猫移师广东东莞月入百万作者
  10. python控制安捷伦频谱仪_通过 python 对罗德施瓦茨矢网、信号源、频谱仪的控制...
  11. Java 使用dom4j进行XML解析
  12. Word批量删除空白行
  13. 围成一圈的排列组合问题_排列组合问题模拟练习题
  14. 装水问题,有一侧面看去是半圆的储水装置,该圆的半径为R,要求往水中装入高度为h的水,使水的面积s1与半圆的面积s2的比例为r ,求h (二分法的应用拓展)
  15. 达人评测 i51240p和r55625u哪个好
  16. websocket 爬虫
  17. 请设计一个宠物社交APP。
  18. 影子系统、沙盒、虚拟机
  19. 小程序miniprogram自动化上传,不需要依赖微信开发者工具
  20. 用c语言编写基于sht10传感器的仓库温湿度监测系统的程序,单片机远程仓库湿度监测系统仿真max487+sht11源程序+电路原理图...

热门文章

  1. 【总结】仰望星空,脚踏实地 2017.09-2018.02
  2. 深度学习(十三) Adversarial Attack 理论部分
  3. STL之容器deque
  4. (转)如何将Sklearn数据集Bunch格式转换为Pandas数据集DataFrame?
  5. Java 那些你不知道的爬虫反爬虫套路
  6. 51Ditu开放了地图服务API接口
  7. 控制WINDOWS,使电脑说话的小玩意
  8. SA-LOAM:具有语义辅助的回环检测LOAM系统
  9. 双稳态电路的两个稳定状态是什么_干货 | 常见的脉冲电路到底有何用途和特点?终于了解了!...
  10. linux 内存管理(8) —内存描述符(mm_struct)