当前位置:首页 >> 信息与通信 >>

整型数说明


c语言int类型用两个字节16位存贮
只能存储-32768~32767
存储9位数可用long int 或浮点来存贮float、double

char有符号型型变量 全称为signed char 一般缩写为char 范围是-128~127
uchar 在C语言中不存在,会出现语法错误。
unsigned

char 是无符号型变量 范围是 0~255

但大家为了书写简单,大家都做如下定义:这时候Uchar或uchar就可以当无符号型字符变量使用了
typedef unsigned char Uchar;
typedef unsigned char uchar;

一、整型数说明
加上不同的修饰符, 整型数有以下几种类型;
signed short int 有符号短整型数说明。简写为short或int, 字长为2
字节共16位二进制数, 数的范围是-32768~32767。
signed long int 有符号长整型数说明。简写为long, 字长为4字节共
32位二进制数, 数的范围是-2147483648~2147483647。
unsigned short int 无符号短整型数说明。简写为unsigned int, 字长
为2字节共16位二进制数, 数的范围是0~65535。
unsigned long int 无符号长整型数说明。简写为unsigned long, 字长
为4字节共32位二进制数, 数的范围是0~4294967295。
一、浮点数说明
Turbo C中有以下两种类型的浮点数:
float 单浮点数。字长为4 个字节共32位二进制数,数的范围是3.4x10-38E~3.4x10+38E。
double 双浮点数。字长为 8个字节共 64位二进制数,数的范围是1.7x10-308E~1.7x10+308E。


C语言整形变量字节数2007-12-22 09:55整型变量可分为以下几类:
1.基本型
类型说明符为int,在内存中占2个字节,其取值为基本整常数。
2.短整量
类型说明符为short int或short'C110F1。所占字节和取值范围均与基本型相同。
3.长整型
类型说明符为long int或long ,在内存中占4个字节,其取值为长整常数。
4.无符号型
类型说明符为unsigned。
无符号型又可与上述三种类型匹配而构成:
(1)无符号基本型 类型说明符为unsigned int或unsigned。
(2)无符号短整型 类型说明符为unsigned short
(3)无符号长整型 类型说明符为unsigned long
各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同。但由于省去了符号位,故不能表示负数。 下表列出了Turbo C中各类整型量所分配的内存字节数及数的表示范围。
类型说明符 数的范围 分配字节数
int -32768~32767 ■■
short int -32768~32767 ■■
signed int -32768~32767 ■■
unsigned int 0~65535 ■■
long int -2147483648~2147483647 ■■■■
unsigned long 0~4294967295 ■■■■
整型变量的说明
变量说明的一般形式为: 类型说明符 变量名标识符,变量名标识符,...; 例如:
int a,b,c; (a,b,c为整型变量)
long x,y; (x,y为长整型变量)
unsigned p,q; (p,q为无符号整型变量)

二进制.八进制.十进制.十六进制.
编程序时
不需要换算。输入的时候
八进制%o
十六进制%x
十进制%d
在计算机都一样是二进制,不影响计算,不存在转换问题。输出的时候,同理用%o,%d,%x输出相应的进制。


(0.56)8=5*8-1+6*8-2=(0.71875)10

(12A)16=1*162+2*161+A*160=(298)10

(0.3C8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10

十进制整数→→→→→八进制方法:“除8取余”

十进制整数→→→→→十六进制方法:“除16取余” 例如:

(171)10=(253)8

(2653)10=(A5D)16

十进制小数→→→→→八进制小数 方法:“乘8取整”

十进制小数→→→→→十六进制小数方法:“乘16取整”例如:

(0。71875)10=(0.56)8

(0.142578125)10=(0.3C8)16

3.非十进制数之间的转换

(1)二进制数与八进制数之间的转换

转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。例如:

(423。45)8=(100 010 011.100 101)2

(1001001.1101)2=(001 001 001.110 100)2=(111.64)8

2。二进制与十六进制转换

转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。例如:

(ABCD。EF)16=(1010 1011 1100 1101.1110 1111)2

(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B。68)16


2.3 整型变量及其输出
1.整型变量
整型变量是用于存放整数值的变量。例如,人口、次数、次序等,应定义为整型变量。
说明整型变量的最基本的类型名保留字是 int。例如:
int i,j;
该语句定义了两个整型变量,即一个整型变量 i 和一个整型变量 j。
计算机将对定义的变量在内存中分配一定量的存储空间,以便存储变量的值。C 语言
标准没有具体规定为变量分配的存储空间(字节数)大小。对于 int 类型变量,有的是 2
字节,有的是 4 字节。对于 Turbo C,int 类型变量占用 2 个字节,如图 2.1 所示。图中表
示对定义的 int 类型变量 i 和 j 各分配了 2 个字节长度的存储空间,当对某个变量赋值时,
这个值就存储在这 2 个字节中。例如,执行下列赋值语句:
i=5; j=-5;
则变量 i 和 j 的存储单元变为图 2.2 所示的情况。
第 2 章 基本数据类型 ?25?
i

j
图 2.1 两个字节的存储空间 图 2.2 存储状态
变量的字节个数反映变量存储值大小的范围。例如,对于 Turbo C 整型变量所能存储
的值的范围是从-32768 到 32767(-2
15
~2
15
-1)。因此,如果选择 int 类型的变量取值可能
超出整型变量的最大范围时,必须考虑选择其他的类型,否则可能发生溢出错误。
除了用 int 定义整型变量以外,还有以 int 为基础的变通类型,它们的类型名保留字列
出如下。
short int 短整型
long int 长整型
unsigned int 无符号整型
unsigned short 无符号短整型
unsigned long 无符号长整型
short、int 和 long 三者的区别在于编译程序对此三种类型的变量所分配的存储字节数
不同。一般,三者的字节数有如下关系。
short 字节数≤int 字节数≤long 字节数
例如,Turbo C 编译程序分配 short 变量 2 字节,分配 int 变量 2 字节,分配 long 变量
4 字节。因此,long 变量存储的值范围要比 int 变量大得多(-2147483648~2147483647)。
冠有 unsigned 的变量表示无符号变量,这种变量的值为非负整数。它与没有 unsigned
的对应的类型变量所占的存储字节数相同,只是正数的取值范围扩大了一倍。表 2.2 列出
了 Turbo C 的整型变量数值范围,供读者参考。
表 2.2 Turbo C 的整型变量数值范围
数据类型 所占字节数 取值范围
Int 2 -32768~32767
short 2 -32768~32767
long 4 -2147483648~2147483647
unsigned int 2 0~65535
unsigned short 2 0~65535
unsigned long 4 0~4294967295
【例 2.1】在 Turbo C 中,某 C 程序中有如下程序段:
int i,j;
i=32500;
j=32800;
0000 0000 0000 0101
1111 1111 1111 1011
C 语言教程 ?26?
试判断赋值语句的正确性。
在 Turbo C 中,int 变量的最大存储值为 32767,因此,赋值语句
i=32500;
没有超出整型变量的最大取值范围;而赋值语句
j=32800;
超出了整型变量的最大取值范围,结果将产生溢出。可将 j 改为长整型,如下所示:
int i;
long j;
i=32500;
j=32800;
2.整型变量的输出
程序运行的结果一般需要输出到外部设备(如显示器、打印机)上,才能为用户所了
解。在大多数情况下,计算机先将结果放置于变量中,然后将这个变量的值输出。C 语言
中一般使用函数 printf 进行输出(关于 printf 函数的详细叙述将在后面的章节中给出)。
printf 函数的功能是按照指定的格式把需要输出的数据在标准输出设备(通常是终端
显示器)上输出。它的一般格式为:
printf(输出控制,输出数据表列);
其中需要说明的有如下两点。
① 输出控制表示由双引号括起来的格式转换控制信息。它分为两种形式的信息。一
种是用于说明的信息,计算机会原样将这些信息输出。例如,为了在显示器上显示 5 个英
文字母 Hello,则输出控制是带英文双引号的字母 Hello,即"Hello"。另一种是带有前置百
分号(%)的格式转换说明,它包括%和格式符。
例如,为了按十进制形式输出一个整型变量的值,则输出控制应是"%d",其中“d”
是格式符。
② 输出数据表列包括需要输出的一些数据。各数据之间用逗号分隔。输出数据的个
数应与输出控制中的格式转换说明的个数相等,而且在顺序上一一对应。
【例 2.2】输出整型变量的程序举例。
# include
void main( )
{
int i,j;
i=100;
j=200;
printf("i=%d,j=%d",i,j);
}
程序输出结果为
i=100,j=200
为了输出整型变量 i 和 j 的值,必须使用 printf 函数,在程序语句“ printf
第 2 章 基本数据类型 ?27?
("i=%d,j=%d",i,j );”中的第一个“%d”与 i 对应,第二个“%d”与 j 对应。

相关文章:
整型数 Integer
整型数 Integer_数学_自然科学_专业资料。整型数 I nte ge r 长整型数 Long 单精度 Singie 双精度 Doubie 日期型 Date 字符型 String 逻辑型 Boolean 整型数 ...
输入10个整型数
1. 输入 10 个整型数,求这 10 个数中最大值、最小值及其所在位置(用数组) #include<stdio.h> void { int int for a[10],I; imax, imin, d, x; ...
关于货币型数据的说明,正确的是( )。 A.货币型数据有时可以表示成整
关于货币型数据的说明,正确的是( )。 A.货币型数据有时可以表示成整型数据...D.货币型数据是小数点位置固定的实型数正确答案及相关解析 正确答案 D 解析...
1以下为一维整型数组a的正确说明是(
学习情境四一、选择题 数组习题解答 1.以下为一维整型数组 a 的正确说明是( ...= ' '&&c2!= ' ' 【答案】B 【说明】统计单词个数的基本思路是:如果前...
整型数据教案
2、整型变量的分类 根据占用内存字节数的不同,整型变量又分为4类(1)基本整型...整型变量的定义 变量说明的一般形式为: 变量说明的一般形式为: 类型说明符 变量...
C++课后习题解答
() << endl; } 4-12 定义一个"数据类型" datatype 类,能处理包含字符型、整型、浮点型三种类型的数 据,给出其构造函数。 #include <iostream.h> class ...
C习题及答案
整型、实型、逻辑型 B)整型、实型、字符型 C)...若变量已正确说明为int类型,要给a、b、c输入数据,...要将a和b中的数进行交换,下面不正确的语句是 A)...
关于货币型数据的说明,正确的是( )。 A.货币型数据有时可以表示成整
关于货币型数据的说明,正确的是( )。 A.货币型数据有时可以表示成整型数据...货币型数据与浮点型数据都 是带有小数点的数,但货币型数据小数点后的有效数位...
C++作业答案
{ int a1,b1,a2,b2; cout<<"请输入两个整型数的坐标 a1,b1,a2,b2"<<endl; cin>>a1>>b1>>a2>>b2; cout<<"两点距离为:"<<abc(a1,b1,a2,b2)<...
工程分析程序设计 上机作业(一)
1、 若有实型数 A=1.0, B=3.5, T=10.0, X=5.0; 整型数 I=-5, J=7, K=3,求 出下面表达式的值。 -(A+T) (B+(X/T))/(4.0*A) (I*J...
更多相关标签:
整型数据的类型说明符 | 整型数据 | 整型数组 | java 整型数组 | 整型数 | 整型数组初始化 | java定义整型数组 | c 字符串转整型数字 |