NO.3 C++中的signed和unsigned
来源:互联网 发布:贵州广电网络通讯录 编辑:程序博客网 时间:2024/06/05 05:24
C++内置了4种算术类型,分别为整数,浮点数,单个字符和布尔值。整数,浮点数,单个字符都有带符号和无符号两种类型,布尔值没有。整数和浮点数的带符号和无符号类型很好理解,比如一般书上都有的int 范围 -32700——32700:unsigned int 范围 0——65500。(整数,浮点数默认都是signed。即int, float其实就是signed int 和 signed float)
下面到正题了
先从《c++ primer》上引一段话
”和其他整型不同,char 有三种不同的类型:普通的char ,unsigned char 和signed char。虽然char 有三种不同的类型,但只有两种表示方式。可以使用unsigned char 或者signed char 来表示char 类型。使用那种char 表示方式由编译器决定。“
char 是字符类型。ASCII码一共需要0到127,共128种,signed char 的范围是-127-127或者是-128-127,unsigned char 的范围是0-255这样,signed char 和unsigned char都能.够完成他们本身的任务。char 是实现相关的,可以在gcc编译时加上选项-funsigned-char使char默认为unsigned char 。
字符型有三种类型但是只有两种表示方式,这里要明白,char 和signed char 是不同的类型,虽然在很多时候signed char 是char 的默认选项。
c++中把负值赋给unsigned类型 是合法的,得到的是负值对该类型的取值个数求模侯的值。把-1赋给unsigned char ,结果是255。
那你会说unsigned char 有什么用呢?c++没有内置的byte 数据结构,一般的用
typedef unsigned char byte来自定义。
在申请内存,进行位操作的时候使用相当方便。
平时我们使用的时候没有特别要求,只要用char 就可以了。觉得相对底层一些的操作会用到unsigned char 。
- NO.3 C++中的signed和unsigned
- 关于C语言中的unsigned和signed内存存储
- (C语言)signed和unsigned类型转化
- [C++] unsigned和signed类型不要混用
- signed 和 unsigned
- unsigned和signed比较
- signed和unsigned之间
- signed和unsigned之间
- signed和unsigned之间
- unsigned 和 signed
- signed和unsigned之间
- unsigned和signed
- signed和unsigned
- unsigned 和signed
- signed 和 unsigned 区别
- C语言 unsigned 和 signed 类型相互转换深入理解
- C语言 unsigned 和 signed 类型相互转换深入理解
- C语言 unsigned 和 signed 类型相互转换深入理解
- xml和yml文件存储C风格代码
- 关于在 火狐 IE 和 360 下的调试心得
- 简明 Vim 练级攻略
- MFC画线小结
- ubuntu下安装jre的步骤
- NO.3 C++中的signed和unsigned
- 一个应届毕业生程序员的独白
- uva 699 The Falling Leaves(建树)
- shared pool 共享池
- 数据挖掘 工作
- java常用类解析二
- intel dpdk rte_eal_cpu_init() 函数介绍
- vimrc文件详解
- java常用类解析三