搬砖:int,long,short,float,double

您所在的位置:网站首页 long和short在c语言 搬砖:int,long,short,float,double

搬砖:int,long,short,float,double

2023-12-05 02:55| 来源: 网络整理| 查看: 265

C语言的整型常量与实型常量

2017年07月16日 12:15:13 sdt17719 阅读数:3980

https://blog.csdn.net/sdt17719/article/details/75200085

一、整型常量

 

           在C语言中,整型常量有十进制、八进制、十六进制3种表示形式。

        1、十进制整型常量

           十进制整型常量的表示与数学上的表示相同,十进制整型常量前没有前缀,由0~9的数字组成。

        2、八进制整型常量

           八进制整型常量的表示形式是以数字0开头,即以0作为八进制数的前缀,由0~7的数字组成。

        3、十六进制整型常量

            十六进制整型常量的表示形式以0x或0X作为前缀,由数字0~9、字母A~F或a~f组成。

         注:在程序中是根据前缀来区分各种进制数的。因此在书写常数时不要把前缀弄错而造成结果不正确。

                另外,整型常量按长度划分为两种:短整型和长整型(后缀为小写字母l或大写字母L),其中默认为短整型,如377是一个短整型数,377l或377L是长整型。

 

二、实型常量

     

         在C语言中,实型常量只能用十进制形式表示。它有两种形式:小数形式和指数形式。

       1、小数形式

          由正负号、0~9的数字和小数点组成。小数点前面和后面可以没有数字(不能同时省略)。如:-1.85、0.24、.426、-11.

       2、指数形式

          由十进制数加上阶码标志e或E以及阶码组成。其一般形式为aEn。其中a为十进制数,n为十进制整数(n为正数时“+”可以省略),其值为a×10ⁿ。

          如:1.236e+2表示1.236×10² 。

 

 

 

  有关C++的数据类型(int,long,short,float,double等等)

2012年06月07日 20:37:26 garfield2005 阅读数:9984

https://blog.csdn.net/Garfield2005/article/details/7643200

看书的时候总结几个方便以后复习:

1、整形:表示整数、字符和布尔值的算数类型的合称;

2、字符类型有两种:char和wchar_t,char类型通常是单个字节,wchar_t类型用于扩展字符集,比如汉字和日语,这些字符集不能用单个char表示;

3、short、int、long类型都表示整形,一般来说(32位机器),short占16位,两字节;int占32位(根据系统而定,32位机下为4个字节),四个字节;long在32位机器上和int一样,也是四个字节(所以感觉C++ Primer中这块的概念有误,1字=2字节 才对)

4、默认情况下,int、short、long都是带符号的,即signed;

5、和其他整形不同,char有三种表示方式:普通char、unsigned char、signed char。虽然有三种不同的类型,但是只有两种表示方式。可以使用unsigned char或者signed cahr表示char类型,具体使用哪种方式由编译器而定。

6、整型的赋值:当一个超出范围的值被赋给一个变量时,会怎么赋值呢?答曰:由编译器来决定,但一般都是取该值对该类型取值数目求模后的值(但不能保证所有编译器都会这样处理),e.g. 试图将336存储到8位的unsigned char中,实际赋值为80,因为80是336对256求模后的值,同理,如果把-1赋给8位的unsigned char,那么结果是255,因为255是-1对256求模后的值;

7、浮点数float、double、long double分别表示单精度、双精度、扩展精度浮点数,一般float为32位,double为64位,long使用96位或者128位。类型的取值范围决定了浮点数所含的有效数字位数,对于实际程序来说,float类型只能保证6位的有效数字,而double类型至少可以保证10位的有效数字。

8、C++的标准并没有规定每种类型占多少位,只是说 “sizeof(long)>=sizeof(int)>=sizeof(short)”,所以具体的字节数都是根据编译器来确定的。

 

 

 

16-C++-基础-整型short、int、long和long long

2018年06月01日 09:08:50 青木落 阅读数:6059更多

https://blog.csdn.net/qq_41200424/article/details/80370331

所属专栏: C++基础教程

3.1.2 整型

整数就是没有小数部分的数字,如-2、98、-5286和0.整数有很多,如果将无限大的整数看作很大,则不可能用有限的计算机内存来表示所有的整数。因此,语言只能表示所有整数的一个子集。有些语言只提供一种整型(一种类型满足所有要求!),而C++则提供好几种,这样便能根据程序的具体要求选择最合适的整型。

不同C++整型使用不同的内存量来存储整数。使用的内存量越大,可以表示的整数值范围也越大。另外,有的类型(符号类型)可表示正值和负值。而有的类型(无符号类型)不能表示负值。术语宽度用于描述存储整数时使用的内存量。使用内存越多,则越宽。C++的基本类型(按宽度递增的顺序排列)分别是char、short、int、long和C++11新增的long long,其中每种类型都有有符号版本和无符号版本,因此总共有10种类型可供选择。下面更详细的介绍这些整数类型。由于char类型有一些特殊属性(它最常用来表示字符,而不是数字),因此本章将首先介绍其他类型。

3.1.3 整型short、int、long和long long

计算机内存由一些叫做位(bit)的单元组成(参见本章后面的旁注“位与字节”)。C++的short、int、long和long long类型通过使用不同数目的位来存储值,最多能够表示4种不同的整数宽度,如果在所有的系统中,每种类型的宽度都相同,则使用起来将非常方便。例如short总是16位,int总是32位,等等。不过生活并非那么简单,没有一种选择能够满足所有的计算机设计要求。C++提供了一种灵活的标准,它确保了最小长度(从C语言借鉴而来),如下所示:

short至少16位;

int 至少与short一样长

long至少32位,且至少与int一样长

long long至少64位,且至少与long一样长

位于字节

计算机内存的基本单位是位(bit)。可以将位看作电子开关,可以开,也可以关。关表示值0,开表示值1。8位的内存快可以设置出256种不同的组合,因为每一位都可以有两种设置,所以8位的总组合数为2*2*2*2*2*2*2*2,即256。因此,8位单元可以表示0-255或者-128到127.每增加一位,组合数便加倍。这意味着可以把16位单元设置出65536个不同的值,把32位单元设置成4294672296个不同的值,把64位单元设置位18 446 744 073 709 551 616 个不同的值。作为比较,unsigned long 存储不了地球上当前的人数和银河系的星星数,而long long 能够.

 

 

字节(byte)通常指的是8位的内存单元。从这个意义上说,字节指的就是描述计算机内存量的度量单位,1KB等于1024字节,1MB等于1024KB。然而,C++对字节的定义与此不同。C++字节由至少能够容纳显示的基本字符集的相邻位组成,也就是说,可能取值的数目必须等于或超过字符数目。在美国,基本字符集通常是ASCII和EBCDIC 字符集,它们都可以用8位来容纳,所以在使用这两种字符集的系统中,C++字节通常包含8位。然而,国际编程可能需要使用更大的字符集,如Unicode,因此有些实现可能使用16位甚至32位的字节。有些人使用术语八位组(octet)表示8位字节。

当前很多系统都使用最小长度,即short为16位,long为32位。这仍然为int提供了多种选择,其宽度可以是16位、24位或32位,同时有符合标准:甚至可以是64位,因为long和long long至少长64位。通常,再老式IBM PC的实现中,int的宽度位16位(与short相同),而在Windows XP、Windows vista、Windows 7、Macintosh OS X、VAX和很多其他微型计算机的实现中,为32位(与long相同)。有些实现允许选择如何处理int。(浏览者所用的实现使用的是什么?下面的例子将演示如何再不打开手册的情况下,确定系统的限制。)类型的宽度随显示而异,这可能在将C++程序从一种环境移到另一种环境(包括在同一个系统中使用不同编译器)是引发的问题。但只要小心一点(如本章后面讨论的那样),就可以最大限度地减少这种问题。

 

可以像使用int一样,使用这些类型名来声明变量:

 

 

short score;

int temperature;

long position;

实际上,short是short int 的简称,而long是long int的简称,但是程序设计者们几乎都不使用比较长的形式。

这4种类型(int、short、long和long long)都是符号类型,这意味着每种类型的取值范围中,负值和正值几乎相同。例如,16位的int的取值范围-32768到+32767。

要知道系统中整数的最大长度,可以在程序中使用C++工具来检查类型的长度。首先sizeof运算符返回类型或变量的长度,单位为字节(运算符是内置的语言元素,对一个或多个数据进行运算,并生成一个值。例如,加号运算符+将两个值相加)。前面说过,“字节”的含义依赖于实现,因此在一个系统中,两字节的int可能是16位,而在另一个系统中可能是32位。其次,头文件climits(在老式实现中为limits.h)中包含了关于整数限制的信息。具体地说,它定义了表示各种限制的符号名称。例如,INT_MAX为int的最大取值,CHAR_BIT为字节的位数。程序3.1演示了如何使用这些工具。该程序还演示如果初始化,即使用声明语句将赋值给变量。

程序3.1  limits.cpp

 

 

//limits.cpp——some integer limits

#include

#include

int main()

{

using namespace std;

int n_int=INT_MAX;

short n_short=SHRT_MAX;

long n_long=LONG_MAX;

long long n_llong=LLONG_MAX;

 

cout



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3