C语言中如何定义有符号整数
6个回答
展开全部
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
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。
展开全部
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。
C语言中,有符号数与无符号数主要是由于是高位是否代表符号(正、负数)来决定的。有符号数是最高位(二进制位)代表符号,1代表是负数,0代表是正数,不管是正数还是负数都是以补码的形式存储与使用的。
(1)正数的补码:与原码相同。 例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码0000111按位取反为1111000;再加1,所以-7的补码是11111001。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言的有符号整数有char,
short,
int,
long四种常用类型。
要定义32位有符号整数,是和编译平台有关的。其中可能为32位的情况为:
16位编译器:
long
32位编译器:
int,
long
64位编译器:
int
另,64位编译器有可能将long也定义为32位,但也有可能为64位。
所以需要区分平台来定义32位有符号整数。
除单片机外,已经不存在16位编译器,所以大多数情况下可以用int来定义32位有符号整数。
short,
int,
long四种常用类型。
要定义32位有符号整数,是和编译平台有关的。其中可能为32位的情况为:
16位编译器:
long
32位编译器:
int,
long
64位编译器:
int
另,64位编译器有可能将long也定义为32位,但也有可能为64位。
所以需要区分平台来定义32位有符号整数。
除单片机外,已经不存在16位编译器,所以大多数情况下可以用int来定义32位有符号整数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int
i。i就是有符号整数。
除非你用unsigned前缀,都是有符号的。
i。i就是有符号整数。
除非你用unsigned前缀,都是有符号的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只有无符号的需要显式定义,
如果没有unsigned
标识,就是有符号的。
如果没有unsigned
标识,就是有符号的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询