unsigned类型到底是什么类型???

我在书本上经常碰到一些C语言的函数,它的参数类型是unsigned,而不是unsigned int、unsigned long之类的,例如:Turbo C的库函数中有这么几个函数:unsigned far setgraphbufsize(unsigned bufsize);
int read(int handle, void *buf, unsigned len); int write(int handle, void *buf, unsigned len);请高手指点一下迷津!
我较认同二楼朋友的说法,不过能不能说得再详细点,如果有一个函数的返回值类型是unsigned, 那么它的类型是unsigned char之类的,还是和参数表列中的unsigned类型参数一个样?如果参数表列中没有unsigned类型呢???

unsigned类型,即无符号类型是属于整型变量。

unsigned可以单独使用代表unsignedint,也可以作为前缀,都表示无符号整数,即永远为非负的整型变量,大于0的数据范围约扩大为原来的2倍。

unsigned能存储的数据范围则是0~65535(最高位不用做符号位,所以是2的16次方,一共65536)。由于在计算机中,整数是以补码形式存放的。根据最高位的不同,如果是1,无符号数,则都解释为正数。

扩展资料:

unsigned类型在sql语句中的意义

sql语句中,创建一个数据表时,为ceatetableuser{user_idintunsigned}。当中的unsigned表示,数据项user_id恒为正整数。

如果tinyint最大是127,那tinyint unsigned最大就可以到127*2。unsigned属性只针对整型,而binary属性只用于char和varchar。

参考资料来源:百度百科-unsigned

参考资料来源:百度百科-整型

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-22
这种情况下
一般都会在前面进行宏定义的
是为了版本兼容或跨平台
现在的32位变成64位的机器 这样的定义有必要

#if define WINDOWS
define unsigned (unsigned int)
#endif

if denfine LINUX
define unsigned (unsigned long)
#endif

这样的话在跨平台的时候就很有必要了本回答被提问者采纳
第2个回答  2006-09-03
可以说是一种变体型的,但是在编写程序的时候最好不要使用变体型,对程序的编译、和运行可能会带来你所想不到的结果。
第3个回答  2020-10-29
第4个回答  2006-09-03
unsigned char,无符号字符类型,取值范围是(0-255)。看下一个例子:
int main()
{
unsigned char i=255;

printf("%d\n",i);
printf("%d\n",++i);

return 0;
}

i加1后,值不是256,而是0

char a
00000000
|_____这一位不存数据,表示符号
///////////////////////////////////////////////////////
unsigned a
00000000
|____这一位当作存数据的

就是没有符号的意思

说白了,就都是正数
由于在计算机中,整数是以补码形式存放的

所以根据最高位的不同
如果是1,有符号数的话就是负数拉
如果是无符号数,则都解释为正数,同时在相同位数的情况下,所能表达的整数范围变大

参考资料:http://zhidao.baidu.com/question/8307749.html

相似回答