百科知识

C/C++语言整型是如何被定义的?

2016-12-16 16:57:47Y***
C/C++语言整型是如何被定义的?C/C++语言整型是如何被定义的?:如果觉的我答案有用,请点赞。 【以下以C/C++语言为例,陈述一下整型的知识】:a.C/C++对整型长度的规定是为?

最佳回答

  •   如果觉的我答案有用,请点赞。
    【以下以C/C++语言为例,陈述一下整型的知识】: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,部分编译器还扩展了一些更长的整型,比如longlong和__int64,C99中增加了longlong和unsignedlonglong;fint的长度与机器字长相同,16位的编译器上int长16位,32位的编译器上int长32位;gshortint的长度小于等于int的长度,注意它们可能长度相等,这取决于编译器;hlongint的长度大于等于int的长度,注意它们可能长度相等,这取决于编译器;i。
      char的长度应当可以包容得下一个字符,大部分系统中就是一个字节,而有的系统中可能是4个字节,因为这些系统中一个字符需要四个字节来描述;j。char的正负取决于编译器,而编译器的决定取决于操作系统,在不同的编译器中char可能等同于signedchar,也可能等同于unsignedchar;总结:a。
      出于效率考虑,应该尽量使用int和unsignedint;b。当需要指定容量的整型时,不应该直接使用short、int、long等,因为在不同的编译器上它们的容量不相同。
    2016-12-16 16:57:47
  • 很赞哦! (157)