C语言中“signed”的作用是什么?

如题所述

signed表示有符号数. 用来修饰整型类型.
包括char short int long以及部分编译器支持的long long.
不过, 这些类型缺省就是有符号的, 所以一般signed会被省略.
即char和signed char等效.
因此, signed被称为最没用的关键字, 和auto类似.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-29
表示有符号型的
一般默认的就是有符号型的
比如
int a;
其实编译器就认为你是
signed int a;

unsigned int a;就是无符号的本回答被网友采纳
第2个回答  2020-12-28
在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据,如16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535。由于在计算机中,整数是以补码形式存放的。根据最高位的不同,如果是1,有符号数的话就是负数;如果是无符号数,则都解释为正数。
整型的每一种都有无符号( )和有符号( )两种类型,在默认情况下声明的整型变量都是有符号的类型( 有点特别),如果需声明无符号类型的话就需要在类型前加上 。无符号版本和有符号版本的区别就是有符号类型需要使用一个bit来表示数字的正负,比如16位系统中一个int能存储的数据的范围为–32768 ~ 32767(16位2进制的最高位作为符号位‘1’为负‘0’为正),而 能存储的数据范围则是0~65535(这个最高位不用做符号位,所以是2的16次方,一共65536)。由于在计算机中,整数是以补码形式存放的。根据最高位的不同,如果是1,有符号数的话就是负数;如果是无符号数,则都解释为正数。同时在相同位数的情况下,所能表达的整数范围变大。另外, 若省略后一个关键字,大多数编译器都会认为是 。
第3个回答  2011-10-29
做标记
第4个回答  2011-10-29
哟可怕的【fhu9fv
相似回答