unsigned在c语言程序中是怎么样的用法

如题所述

unsigned 是C语言的关键字,表示无符号数。
unsigned 可以与各种整数类型连用。包括char, int, long等。
当unsigned独立使用时,默认为unsigned int。

当没有unsigned时,默认为signed类型,即有符号数,这时存储的最高位是符号位。而加上unsigned后,表示无符号类型,所有数位均用来存储值。
相对于有符号数,无符号数无法表示负数,但可以存储更大范围的正数。
C语言中,输出unsigned类型的格式字符为%u。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-03
整型的每一种都有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的数据,比如16位系统中一个int能存储的数据的范围为–32767 ~ 32768,而unsigned能存储的数据范围则是0~65535。由于在计算机中,整数是以补码形式存放的。根据最高位的不同,如果是1,有符号数的话就是负数;如果是无符号数,则都解释为正数。同时在相同位数的情况下,所能表达的整数范围变大。另外,unsigned若省略后一个关键字,大多数编译器都会认为是unsigned int。  
unsigned int a ;// a为0~65535的数 (2的16次方)
unsigned char a ;//a为0~255的数 (2的8次方)  
sql语句中,创建一个数据表时   
ceate table user
{   user_id int unsigned...   ...   }   
当中的unsigned表示,数据项user_id恒为正整数。本回答被网友采纳
第2个回答  2012-03-07
unsigned char 无符号字符型
char 有符号字符型
当然也可以定义成int float 等类型
以char型为例, unsigned char a; char b;
a 在0 -255
b 在-128-128
相似回答