整型数据

一、整型常量的表示方法:

“整型常量”即“整常数”。

在C语言中,整常数有三种形式表示:

十进制整数:

如:123、-456、4。

八进制整数,以0开头的数是八进制数。

如:0123表示八进制数123,即(123)8,用十进制表示为

1X82+2X81+3X80 =83,-011表示八进制数-11,即十进制数-9。

十六进制整数,以0x开头的数是十六进制数。

如:0x123,代表十六进制数123,即(123)16=1x162+2x161+3x160=291;

-0x12等于十进制数-18。

整型变量:

二、整型数据在内存中的存放形式:

数据在内存中是以“二进制”形式存放的。如果定义了一个整型变量i:

int i;/*定义为整型变量*/

i=10;/*给i赋以整数10*/

我们大家都知道,十进制数10的二进制形式为1010,

Turbo C 2.0和Turbo C++ 3.0为一个整型变量在内存中分配2个字节的存储单元(不同的编译系统为整型数据分配的字节数是不同的,Visual C++6.0则分配4个字节。)

(a)图是数据存放的示意图:

(b)图是数据在内存中实际存放的情况,用补码形式表示的:

实际上,数值是以补码(complement)表示的。一个正整数的补码和该数的源码(即该数的二进制形式)相同。

一个负数的补码如何进行求解呢?

将该数的绝对值的二进制形式,按位取反在加1。

例如求-10的补码的方法是:

<1>、取-10的绝对值10;

<2>、10的绝对值的二进制形式为1010;

<3>、对1010按位取反得111111111111110101(一个整数占16位);

<4>、再加1得-10的补码是:111111111111110110,见下图所示:

由上述可知:在存放整数的存储单元中,最左面的一位是表示符号的,该位为0,表示数值为正;该位为1则表示数值为负。

三、整型变量的分类:

一个整型的变量值的范围为-215~ (215-1),即-32768  ~ 32767。

为了充分利用变量的值的范围,此时可以将变量定义为“无符号”类型。

整型变量的基本类型符为int。根据数值的范围将变量定义为:

基本整型:以int表示。

短整型:  以short int 表示,或以short表示。

长整型:  以long int表示,或以long表示。

归纳起来,总共有六种整型变量:

有符号基本整型  【signed】 int;

无符号基本整型   unsigned  int;

有符号短整型    【signed】short 【int】;

无符号短整型    【unsigned】short 【int】;

有符号长整型    【signed】 long 【int】;

无符号长整型    【unsigned】 long 【int】;

注意:

上面的方括号表示其中的内容是可选的,既可以有,也可以没有。

如果加上修饰符signed,则指定是“有符号数”。

如果既不制定为signed,也不指定为unsigned,则隐含为有符号(signed)。

实际上signed是完全可以不写的。

如果不指定unsigned或指定signed,则存储单元中最高位代表符号(0为正,1为负)。

如果指定unsigned,为无符号型,存储单元中全部二进制位用作存放数本身,而不包括符号。

无符号型变量只能存放不带符号的整数,如:123,4678等,而不能存放负数,如:-123、-3。

一个无符号整型变量中可以存放的正数的范围比一般整型变量中正数的范围扩大一倍。

如果在程序中定义a和b两个变量:

int a ;

unsigned int b ;

用Turbo C / Turbo C++时整型的有关数据。

四、整型变量的定义:

C语言程序中所有用到的变量都必须在程序中定义,即“强制类型定义”。

例如:

int a,b; (指定变量a,b为整型)

unsigned short   c,d; (指定变量c,d为无符号短整型)

long e,f; (指定变量e,f为长整型)

对变量的定义一般是放在一个函数的开头部分的声明部分(也可以放在函数中某一段分程序内,但作用域只限它所在的分程序)。

例如:

整型变量的定义与使用:

运行结果为:

注意:不同种类的整型数据可以进行算术运算。                      整型变量的溢出:

在Turbo C和Turbo C++中,一个int型的变量的最大允许值为32767,如果在加1,会出现什么情况呢?

例如:

运行结果为:

五、整型常量的类型:

一个整数,如果其值在-32768 ~ 32767范围内,认为它是int型,它可以赋值给int型和long int型变量。

一个整数,如果其值超过了上述范围,而在-2147483648 ~ 2147483647范围内,则认为它是长整型,可以将它赋值给一个long int型变量。

如果所用的C语言版本(如Turbo C)分配给short int 与int型数据在内存中占据的长度相同,则它的表数范围与int型相同。因此一个int型的常量同时也是short int型常量,可以赋值给int,short int;

一个整常量后面加一个字母u和U,认为它是unsigned int,如12345u在内存中unsigned int规定的方式存放(存储单元中最高位不作为符号位,而用来存储数据)。如果写成-12345u,则先将-12345转换成其补码53191,然后按无符号数存储。

在一个整型常量后面加一个字母l或L,则认为它是long int 型常量,例如123l、432L,0L等,这往往用于函数调用中。如果函数的形参为long int 型,则要求实参也为long int 。

注意:

十进制32768的二进制为000000000000000(15个0);十进制32767的二进制为111111111111111(15个1);十进制65535的二进制为1111111111111111(16个1);

c语言整型变量程序基本,C语言的数据类型→整型数据相关推荐

  1. C语言的数据类型--整型数据

    知识点一:整型数据类型 整型数据类型 缺省型 名称 [signed]int int 整型 unsigned int unsigned int 无符号整型 [signed]short[int] shor ...

  2. c语言整型如何存放,C语言的数据类型→整型数据

    整型数据 一.整型常量的表示方法:"整型常量"即"整常数". 在C语言中,整常数有三种形式表示: 十进制整数: 如:123.-456.4. 八进制整数,以0开头 ...

  3. 二、C语言的数据类型—整型数据

    整型数据分为整型常量和整型变量. 知识点一:整型常量 在C语言中,整型常量采用3种形式来进行表示: 1)十进制整数: 2)以0开头的八进制整数,如0123就是一个八进制数,它等于十进制数83: 3)以 ...

  4. c语言数据类型int的用法,C语言基本数据类型:整型(int)用法详解|C语言学习

    C语言基本数据类型:整型(int)用法详解 1. 整型 int C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int 是整型之一,一般被称为整型.以后, ...

  5. 【最新】国际绝对音名标准频率及音符长度C语言宏定义(32位无符号整型精度、十二等律体系、A4=440.00000Hz)

    [最新]国际绝对音名标准频率及音符长度C语言宏定义(32位无符号整型精度.十二等律体系.A4=440.00000Hz) #ifndef __MUSIC_NOTE_H__ #define __MUSIC ...

  6. 基于Python的国际绝对音名标准频率C语言宏定义(32位无符号整型精度、十二等律体系、A4=440.01000Hz)

    基于Python的国际绝对音名标准频率C语言宏定义(32位无符号整型精度.十二等律体系.A4=440.01000Hz) 代码如下: f = open('./PITCH.h', 'w') C=44001 ...

  7. C 语言格式输出 %hd,%hu分别是 短整型 和 无符号的短整型。

    C 语言格式输出 %hd,%hu分别是 短整型 和 无符号的短整型. %hd,%hu分别是 短整型 和 无符号的短整型. posted on 2011-08-22 20:29 雨亭 阅读( ...) ...

  8. c语言词法分析程序,词法分析器(c语言实现)

    <词法分析器(c语言实现)>由会员分享,可在线阅读,更多相关<词法分析器(c语言实现)(6页珍藏版)>请在人人文库网上搜索. 1.词法分析c实现一. 实验目的设计.编制并调试一 ...

  9. 2n 用c语言编程程序,用C语言编写程序.ppt

    <用C语言编写程序.ppt>由会员分享,可在线阅读,更多相关<用C语言编写程序.ppt(64页珍藏版)>请在人人文库网上搜索. 1.第2章 用C语言编写程序,2.1 在屏幕上显 ...

最新文章

  1. vc6.0出现无法解析错误
  2. excel的宏与VBA入门(三)——流程控制
  3. STM32H743+CubeMX-学习FDCAN控制器上的TxFIFO
  4. android 网络编程面试题,Android面试题整理
  5. WP8 中使用HTML Agility Pack与友盟分享SDK遇到的 System.Xml.XPath加载问题
  6. Android之开启内置闹钟与已安装的应用程序设置
  7. 宝马纯电动i4原型车谍照曝光 预计2021年上市
  8. 收文处理和发文处理的环节_液相色谱使用中样品预处理需要注意的几个环节汇总!...
  9. 贺利坚老师汇编课程70笔记:端口的读写
  10. 如何基于protobuf实现一个极简版的RPC(转载)
  11. 算力单位TOPS,GPU处理能力(TFLOPS/TOPS),CPU能力MIPS ,片外内存与片内内存
  12. 3.FXBLUE跟单原理
  13. 金蝶K3案例教程采购报表
  14. 电脑怎么压缩图片大小kb?压缩图片用什么软件?
  15. mysql数据库repair_MySQL数据库中的REPAIRTABLE语法介绍
  16. CSAPP实验2:bomblab
  17. 软件开发人员 梦想最大的阻碍:毒、赌、黄
  18. 重装window系统总结
  19. java虚拟机内存查看相关命令
  20. 数据库设计阶段和三个重要的设计模型

热门文章

  1. 阿斯利康中国西部总部启用;康华动保(成都)公司成立;博腾生物战略客户集中签约仪式举行 | 医药健闻...
  2. 椭圆的长短轴分别沿着矩阵A的两个特征向量的方向
  3. 安装程序的安装界面为乱码的问题
  4. Linux Mint 19 下体验Vagrant +VirtualBox
  5. 转:钱理群:教育最大的问题就是不读书
  6. QT实现ListWidget排列图片
  7. 转]关于jtag和arm仿真器的一些总结
  8. 产业互联网周报:钉钉被曝组织优化,涉及自研 SaaS、硬件部门;马斯克暂停Twitter收购;谷歌发布AlloyDB数据库服务...
  9. HP ProLiant MicroServer Gen8 玩法汇总
  10. 网络安全-渗透术语讲解