char 与 unsigned char的区别
来源:互联网 发布:js运动轨迹模拟 编辑:程序博客网 时间:2024/06/14 08:58
在数据类型转换时有区别: 对最高位拓展是什么意思呢?char在C里占一个字节,比如0x80的一个char,二进制为1000 0000,如果转为int则,认为最高位的1是符号位,int是4个字节,剩下的3个怎么办呢,肯定得填充了,系统会在前面填充。如果最高位是符号位,那么系统会在前面填充3个字节的符号位(这和计算机里头数值用补码表示有关,比如0x80的一个char,1000 0000,表示-128,转为int类型时,我们还是希望是-128,此时系统会在前三个字节里全部填充符号位1,变成1111 1111,1111 1111,1111 1111,1000 000。这个数在计算机里还是表示-128。 如果一个0x80的unsigned char,二进制也是1000 0000,由于是无符号型(只能表示正数),系统认为该数最高位不是符号是数,所以系统认为所表示的值是128,若转为int型,系统会在前三个字节填充0,变成
如果是char,系统认为最高位是符号位,那么将对最高位进行拓展
如果是unsigned char,系统认为没有符号位,不会对最高位拓展。
0000 0000,0000 0000,0000 0000,1000 000。这个数在计算机int里还是表示128。
注意:赋给unsigned int也会扩展。
0 0
- unsigned char与char的区别
- unsigned char与char的区别
- unsigned char与char的区别
- unsigned char与char的区别(转)
- char与unsigned char的区别
- unsigned char与char的区别
- unsigned char与char的区别
- unsigned char与char的区别
- unsigned char 与char的区别
- char 与 unsigned char的本质区别
- char 与 unsigned char的本质区别
- char 与 unsigned char的本质区别
- char 与 unsigned char的本质区别
- char 与 unsigned char 的本质区别
- char 与 unsigned char的本质区别
- unsigned char与char的区别
- char 与 unsigned char的本质区别
- char 与 unsigned char的本质区别
- 把变量里的值导入 某文件
- 接近开关
- Bootstrap.init
- int i=1,j=2; int k=i+++j;
- UNIX环境编程初步认识——进程
- char 与 unsigned char的区别
- 如何在Swift中使用NSError
- 单选多选框获取值
- 迁移学习&自我学习
- 向ASM中添加磁盘
- java设计模式之装饰者模式
- 线程同步
- SSH学习快速入门
- 多态理解