黑马程序员技术交流社区

标题: 求好心人回答下unsigned和 signed [打印本页]

作者: Jine    时间: 2014-3-26 23:01
标题: 求好心人回答下unsigned和 signed
本帖最后由 Jine 于 2014-3-27 21:14 编辑

unsigned和 signed  之间的详细区别,他们指的有无符号是哪几种符号?

作者: 沙洲冷    时间: 2014-3-26 23:06
指的是正负号,unsigned只包含正整数和0,signed包含正整数,0和负整数。一般int类型默认是signed,signed可以省略。
作者: 路默”    时间: 2014-3-26 23:31
首先unsigned和 signed都是用来修饰int的。
signed代表有符号,为正数,负数和零,int默认是有符号的,所以signed可以省略。
unsigned代表无符号,表示零和正数,修饰int意指int类型的最高位不要拿来当符号位,这样正数最大值会变大
作者: 程浩    时间: 2014-3-26 23:43
unsigned 无符号,像 unsigned int a=5,a不可以是-5
signed 有符号 ,像signed int b=-5;b也可以是5     默认  int b=-5 就ok
作者: agelessman    时间: 2014-3-26 23:48
unsigned是无符号的整形数,也就是只能取整形的16位正数。signed就是正数负数都能取的从负的16位到正的16位!
作者: stone24    时间: 2014-3-27 00:46
1.  signed 表示这个变量是有符号的,能存储正数和负数,通常是默认的。
2.  unsigned则表这个变量没有符号  只能存储数的大小 而不能表示正负。
3.  signed要用存储空间中的最高的一个比特位, 专门用来存储符号 ,这一个比特位不能表示数值,所以一般来说 同类型的signed能够存储的数的绝对值大小要小于unsigned.
作者: Jine    时间: 2014-3-27 21:12
谢谢,没想到会有这么多兄弟支持




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2