C语言中无符号字符型,这个无符号(unsigned)到底什么意思啊

不是说无符号整形,是无符号字符型

C语言中无符号字符型其实就是是长度为1个字节的整数,从本质上说也是整数类型,通常用来存放ASCII码。

整型分为无符号(unsigned)和有符号(signed)两种类型,默认整型变量是有符号的类型,char有点特别。需声明无符号类型就要在类型前加上unsigned。

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

在16位系统中一个int能存储数据的范围是-32768~32767,unsigned能存储的数据范围是0~65535。

扩展资料

整型分类:

基本型

类型说明符为int,在内存中占4个字节(不同系统可能有差异,此处原为2,经查证windows系统下为4,VAX系统也如此) ,其取值为基本整常数。

短整型

类型说明符为short int或short'C110F1。所占字节和取值范围会因不同的编译系统而有差异。对于16字机,short int 占2个字节,在大多数的32位机中,short int 占4个字节。但总的来说,short int 至少16位,也就是2个字节。

长整型

类型说明符为long int或long ,在内存中占4个字节,其取值为长整常数。在任何的编译系统中,长整型都是占4个字节。在一般情况下,其所占的字节数和取值范围与基本型相同。

无符号型

类型说明符为unsigned。在编译系统中,系统会区分有符号数和无符号数,区分的根据是如何解释字节中的最高位,如果最高位被解释为数据位,则整型数据则表示为无符号数。

参考资料来源:《C++语言程序设计 (第4版)》 郑莉  董渊 何江舟 编著 清华大学出版社

第2章 C++简单程序设计  2.2 基本数据型和表达式

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-05

无符号整数,计算机里的数是用二进制表示的,最左边的这一位用来表示这个数是正数还是负数,这样的话这个数就是有符号整数。

如果最左边这一位不用来表示正负,而是和后面的连在一起表示整数,那么就不能区分这个数是正还是负,就只能是正数,这就是无符号整数。

扩展资料

有符号和无符号的差别

int是有符号的,unsigned是无符号的。

它们所占的字节数其实是一样的,但是有符号的需要安排一个位置来表达我这个数值的符号,因此说它能表示的绝对值就要比无符号的少一半。

举个例子:有一个1个1字节的整数,那么无符号的就是:“00000000~11111111 ”这个就是无符号的范围。

一个字节是8位, 有符号的数,因为第一个位要用来表示符号,那么就只剩下7个位置可以用来表示数了0000000~1111111。

因为有符号,所以还可以表示范围:-1111 111~+1111 111。

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



本回答被网友采纳
第2个回答  推荐于2017-10-03
C语言中 一个存储单元 按二进制数位 可以分 符号位 和 数据位,数据位 也许分 指数位,尾数位,到底一个存储单元,有多少位,有哪些位,取决于 变量类型声明。
unsigned char 类型声明 说,长度 是 1个字节,(也就是 8 位 二进制数位),无符号位,8 位都是数值位。
所以 unsigned char 数值范围 是 0000 0000 到 1111 1111, 写成 10 进制 是 0 到 255。

无符号字符型 实际上 是 1个字节 无符号整型。可以用来描述 ASCII 字符 编码 0 到 255。本回答被提问者和网友采纳
第3个回答  2012-09-17
字符型是8位整数,若是无符号字符型,就只能表示0~255之间的正整数。
有符号的字符型,能表示-128~127之间的正整数和负整数。
所谓字符型简单点说就是8位整数
以前用字符型来表示ASCII字符
无符号的则扩展到了255,可以用来表示扩展ASCII
第4个回答  2012-09-17
就是没有符号呗,也就是说没正负之分。。。。。
例如:int 类型 可以取正负值
但如果你定义了 unsigned int 则只能取正值 不能取负值
否则编译时就会报错!
相似回答