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

整型数说明


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 对应。


相关文章:
长整数运算说明书
整数运算说明书_数学_自然科学_专业资料。长整数运算说明书 摘 要 数据结构...在键盘上输入演示程序中规定 的运算命令,然后程序就计算并显示出这两个数的运算...
整型数据
整型数据_IT认证_资格考试/认证_教育专区。整型数据 2.3 整型数据 2.3.1 整型...“+”和“-”也可用作单目运算符,运算符必须出现在运算数的左边。 说明: (...
有符号整数 无符号整数
无符号短整型:类型说明符为 unsigned short。 无符号长整型:类型说明符为 unsigned long。 下表列出了 C 语言中各类整型数据所分配的内存字节数及数的表示范围。...
C语言中整型常量的表示方法
4)整型常数的后缀:在16位字长的机器上,基本整型的长度也为16位,因此表示的 数的范围也是有限定的。十进制无符号整常数的范围为0~65535,有符号数为-32768~ +...
在Turbo C语言中数类型长度
2.1 整型(int) 一、整型数说明 加上不同的修饰符, 整型数有以下几种类型; signed short int 有符号短整型数说明。简写为 short 或 int, 字长为 2 字节共...
串行通讯中浮点数和整型数的处理办法
串行通讯中浮点数和整型数的处理办法_信息与通信_工程科技_专业资料。串行通讯中浮点数和整型数的处理办法串行通讯是以字节为单位进行传送的,对于浮点数和整型数都需...
C语言整型数据
整常数在不加特别说明时总是正值.如果需要的是负值,则负号"-"必须放置于常数...表示的最大数,则使用无符号整型.同理,如果一个常数比 无符号整型所表示的值...
基​本​数​据​类​型​符​及​其​含​义
基本数据类型符及其含义数据类型 整型整型整型 无符号整型 无符号短整型 ...三位八进制数所代表的字符 二位十六进制数 hh 所代表的数 注意:转义字符常量...
将长整型数中每一位上为奇数的数依次取出,构成一个新数...
下列给定程序中函数fun的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t 中。高位仍在高位,低位仍在低位。例如当s中的数为87653142时,t中...
【说明】 假定用一个整型数组表示一个长整数,数组的每...
说明】 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为: m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×...
更多相关标签: