有符号整数 无符号整数

绝世美人儿
570次浏览
2021年01月11日 09:43
最佳经验
本文由作者推荐

汉唐婚礼-部门工作总结开头

2021年1月11日发(作者:庄俊)


C语言中定义有符号整型:signed int x; 由于signed 可以省略,所以int x; 也是可以定义
有符号整型变量x
C语言中,有符号数与无符号 数主要是由于是高位是否代表符号(正、负数)来决定的。有
符号数是最高位(二进制位)代表符号,1 代表是负数,0代表是正数,不管是正数还是负
数都是以补码的形式存储与使用的。
(1)正数的补码:与原码相同。例如,+9的补码是00001001。
(2)负数的补 码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
例如,-7的补码:因为是负 数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值
+7的原码0000111 按位取反为1111000;再加1,所以-7的补码是11111001。

整型数据即整数。

整型数据的分类
整型数据的一般分类如下:





基本型:类型说明符为int,在内存中占2个字节。
短整型:类型说明符为short int或short。所占字节和取值范围均与基本型相同。
长整型:类型说明符为long int或long,在内存中占4个字节。
无符号型:类型说明符为unsigned。

无符号型又可与上述三种类型匹配而构成:




无符号基本型:类型说明符为unsigned int或unsigned。
无符号短整型:类型说明符为unsigned short。
无符号长整型:类型说明符为unsigned long。

下表列出了C语言中各类整型数据所分配的内存字节数及数的表示范围。


类型说明符 数的范围 字节数
int
unsigned int
short int
-32768~32767,即 -2
15
~(2
15
-1)
0~65535,即 0~(2
16
-1)
-32768~32767,即 -2
15
~(2
15
-1)
2
2
2
2 unsigned short int 0~65535,即 0~(2
16
-1)
long int
unsigned long
-2147483648~2147483647,即 -2
31
~(2
31
-1) 4
0~4294967295,即0~(2
32
-1) 4
整型数据在内存中的存放形式
如果定义了一个整型变量i:

inti;
i=10;


数值是以补码表示的:



正数的补码和原码相同;
负数的补码:将该数的绝对值的二进制形式按位取反再加1。

例如:求-10的补码:




由此可知,左面的第一位是表示符号的。

各种无符号整型数据所占的内存空间字节 数与相应的有符号类型量相同。但由于省去了符号
位,故不能表示负数。

高冷-夜雨寄北原文


老电影江姐-小蝌蚪找妈妈教学反思


水牛图片-满园春色关不住


岱庙-牵心的朋友


大片下载-杨贵妃秘史分集剧情


数学考试反思-少年旅行队


少儿诗歌-感动世界


路政大队-苏轼的词