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

如题所述

第1个回答  2012-03-04
整型的每一种都有无符号(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恒为正整数。