c++中整型常量中的有符号和无符号怎么理解,怎么判断?

如题所述

  按字面意思理解就可以。
  有符号整型既可以表示正整数,又可以表示负整数。(当然也可以表示0)
  无符号整型默认只表示正整数

  一、区别
  区别1. 最明显的区别还是在关键字上,有符号整型用int/short/long ,无符号整型unsigned(int)/ unsigned short/unsigned long

  区别二2.取值范围不同,因为有符号整型要表示负数,所以表示范围分布在0左右
  以int 为例,int表示范围是 -2^31到2^31-1. 无符号整型不需要表示符号,所以分布在0的右边,以unsigned(int)为例,unsigned (int) 范围是 0到2^32-1

  二、应用
  总的来说用起来差不多,但是由于表示范围不同,各取所长。

  比如年龄字段一般而言是正数,所以用unsigned short即可(当然,int也不会报错)

  又如订单系统需要表示库存数量的增减变化,可以用int
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-02-13
无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据,比如16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535追问

不理解。。那个符号是表示正负的意思吗

😳

追答

不是,记得加上这个符号后能改变int的范围就是了

http://www.jb51.net/article/40518.htm

这个讲的很详细

本回答被网友采纳