signed转换至unsigned(关于符号扩展)
2017-09-04 17:13
337 查看
首先明确基础知识
char 和 bool 是1个字节
float 和 int 是4个字节
double是8个字节
32/64位系统只和指针的字节数有关,不影响int这些类型的大小
指针即地址,32=4*8,一个字节(bit)8byte,所以一个32位系统指针是4字节
给定一个变量,例如char a=-1,红色为最高位,符号位
其signed形式:10000001
则其unsigned应该由符号位扩展而来,所以为11111111
只有8位的原因是char是一字节
如果char a=1,其unsigned形式为00000001
char 和 bool 是1个字节
float 和 int 是4个字节
double是8个字节
32/64位系统只和指针的字节数有关,不影响int这些类型的大小
指针即地址,32=4*8,一个字节(bit)8byte,所以一个32位系统指针是4字节
给定一个变量,例如char a=-1,红色为最高位,符号位
其signed形式:10000001
则其unsigned应该由符号位扩展而来,所以为11111111
只有8位的原因是char是一字节
如果char a=1,其unsigned形式为00000001
相关文章推荐
- 关于类型转换时的“符号扩展”
- 关于unsigned与signed的转换问题
- Integral Promotions整数提升和符号扩展(char,unsigned char,signed char)
- 不带signed或unsigned关键字的char型 无符号数? 有符号数? C标准规定为 Implementation Defined !!!
- C语言中关于char类型存储的分析 以及signed与unsigned的区别
- C语言 unsigned 和 signed 类型相互转换深入理解
- C语言 unsigned 和 signed 类型相互转换深入理解
- 给无符号数赋值负数(有符号数)的理解(unsigned\signedf)
- 语言 unsigned 和 signed 类型相互转换深入理解
- C语言 unsigned 和 signed 类型相互转换深入理解
- 关于java中有符号数转换成无符号数的相关问题
- C语言 unsigned 和 signed 类型相互转换深入理解
- C语言 算术转换 unsigned signed int
- C语言strtoul()函数:将字符串转换成unsigned long(无符号长整型数)
- 有符号与无符号的类型转换以及数位扩展问题
- 关于signed和unsigned的%d和%u
- 关于unsigned 的算术转换
- C语言 unsigned 和 signed 类型相互转换深入理解
- 关于补零扩展与补符号位扩展
- 关于C语言中的unsigned和signed内存存储