有符号整型数据和无符号数据类型是什么?

我在学c
看的【c语言程序设计】
里面这方面的东西把我搞晕了
谁能说明下?
他们有什么作用?

整型有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。

无符号整型和有符号整型的区别就是无符号类型可以存放的正数范围比有符号整型中的范围大一倍,因为有符号类型将最高位储存符号,而无符号类型全都储存数字。

扩展资料

无符号数只表示大小,有符号数最高位(二进制情况下最高位表示符号位),在同一操作系统下,有符号数和无符号数的最大数值在大小上的关系是2*x+1(x表示有符号数的最大值,2*x+1表示无符号数最大值)。二者表示的数据范围大小是相同的,但是范围不同。

参考资料来源:百度百科—无符号整型

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-08-07

无符号数只表示大小,有符号数最高位(二进制情况下最高位表示符号位),在同一操作系统下,有符号数和无符号数的最大数值在大小上的关系是2x+1(x表示有符号数的最大值,2x+1表示无符号数最大值)。二者表示的数据范围大小是相同的,但是范围不同。

无符号整型和有符号整型的区别就是无符号类型可以存放的正数范围比有符号整型中的范围大一倍,因为有符号类型将最高位储存符号,而无符号类型全都储存数字。

扩展资料:

无符号整型和有符号整型运算依据表示数据的最大值来定(也是计算机中混合数据类型运算的特点,两个不同类型数据运算,会取能表示较大数据的类型作为运算类型。

二者数据运算先将有符号整型转换成无符号整型再通过无符号数运算规则来计算。数据如果超出了整型数据表示范围,则用比当前数据类型大的最小数据类型来表示。

参考资料:

百度百科-无符号整型

百度百科-整型数据

本回答被网友采纳
第2个回答  推荐于2017-10-05
  整型有无符号(unsigned)和有符号(signed)两种类型;
  在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。
  无符号数只表示大小,有符号数最高位(二进制情况下最高位表示符号位),在同一操作系统下,有符号数和无符号数的最大数值在大小上的关系是2x+1(x表示有符号数的最大值,2x+1表示无符号数最大值)。
  二者表示的数据范围大小是相同的,但是范围不同。
  无符号整型和有符号整型的区别就是无符号类型可以存放的正数范围比有符号整型中的范围大一倍,因为有符号类型将最高位储存符号,而无符号类型全都储存数字。
第3个回答  2008-07-30
一个int型的变量值的范围为-32678~32767
有符号整型变量 [signed]int 的取值范围为-32678~32767,它的存储
单元中最高位代表符号(0为正,1为负)
无符号整型变量 unsigned int取值范围为0~65535,它的存储单元只能存储不带符号的整数(正整数)

整型数据在内存中是以二进制形式存放。
区别:int型的存储单元中的最高位代表的是符号
unsigned int型的存储单元中最高位代表的是该数据的第一位;
第4个回答  2008-07-30
以int为例

int 为2个字节
有符号整型数据 数的范围 -32768~32767
01111111111111111 最左边的一位,这里是0表示是正数,如是1就是负数.

无符号数据类型 数的范围 0~65535
01111111111111111 最左边的一位,这里是0表示是正数,如是1也是正数.
相似回答