对部分整型(char)操作的测试
来源:互联网 发布:qq飞车战魂评测数据 编辑:程序博客网 时间:2024/05/17 23:05
//以下结果在win7 32位系统的VS2012下测得#include<iostream>using namespace std;int main(void){signed char a;//对于大多数计算机的整型变量存放的是它的补码//无符号数的补码就是它本身//输出一个以二进制表示的数时(所有的数据均由二进制表示)会先进行相应的转换后输出(如:转换成10进制等等)//下式 a=0xffU:0xffU 等价于二进制序列 11111111,所以a中的二进制为11111111,是真值的补码形式//而a为有符号数,所以11111111对应的数是-1(将除了符号位的其它位取反后最低位加1即得到负数的原码)//其原码为:10000001,故a的值是-1a=0xffU;//b对应内存的二进制序列为11111111,由于它是无符号的,所以b的真值为255unsigned char b=a;//下式并不会输出mark,因为将a与b的返回值先转换成int型再来比较的,所以-1<255//从这里得出:只要是整型,并且其真值不大于int型表示范围,则均会转换成int型//所以对表达式a==b的两个子表达式 a 和 b ,先计算出它们各自的结果后转换成int型//而不是两个计算之后进行数据匹配再来转换)再来比较两个临时的无名的int型变量的值if(a==b)cout<<"mark"<<endl;int c=a;//输出为-1,所以将signed char变量值赋值给int型(均为有符号)并不是简单的将signed char的//二进制序列复制到int的低阶位中,符号位是会作相应的调整的cout<<c<<endl;c=b;//而对于unsigned char类型则不必做符号位调整的工作//所以我个人猜想:计算机是不是对 unsigned int型的数据运算比对 int型数据运算要快--markcout<<c<<endl;//a的值扩展为int型后其二进制序列为:10000000 00000000 00000000 01111111//对于第二个(unsigned int)a输出的并不是255,而是int所能表示的最大整数0xffffffff--mark//经测试发现,编译器将值为负(非负的符合上面的推断)的signed char变量的8位二进制位//(注意,并不是将0xff分别填充到4个8位中,而是填充最低的8位,可以将0xff换成0xf0试一下)//复制到unsigned int型的无名变量中,其高阶的24位均会填充为1,//输出该无名变量的值//这与上面的将a求得的值转换成 int型的推论有出处,故本文仅供大家作测试参考//不具有技术价值,如果有比较了解这方面的大神看了这篇文章希望能解答下--markcout<<(int)a<<" "<<(unsigned int)a<<" "<<(unsigned int)((unsigned char)a)<<" "<<(unsigned int)b<<endl;unsigned int d=0;d=a;cout<<d<<endl;cin.get();cin.get();return 0;}
- 对部分整型(char)操作的测试
- char的整型运算
- char 类型的整型提升
- 【ThinkingInJava】54、对List操作中本质的部分进行测试还有Queue中的操作测试性能比较
- 对顺序表的部分操作(2)
- 对一个整型变量进行位操作
- bool、 char等类型可参与整型值操作
- 测试PHP的整型(integer)
- 测试PHP的整型(integer)
- 我对popen(char *cmd,char *mode)的理解
- 对集合的一个字段排序(字符串、整型、日期)
- Python接口测试之对MySQL的操作(六)
- SQL自定义函数实现字符串截取转化为整型(主要用于对批量数据的操作)
- 对进程的常见操作测试
- 分离浮点数的整型部分和小数部分
- 位操作、整型与非整型的存储
- C语言字符char和整型int的关系
- 字符型char和整型int之间的关系
- 24位bmp彩色图的直方图均衡化
- windows,linux,mac系统host file存放的路径
- memset,memcpy,strcpy 的区别
- 2012年学习小结
- windows下ftp上传下载和一些常用命令
- 对部分整型(char)操作的测试
- mysql innodb行级锁的一些注意事项
- YII中过Cdbcriteria标准sql拼装类来设置
- 在windows下与linux虚拟机进行文件共享
- jPBM4.3 -- 第二节 管理流程定义
- “追逐日光”
- CString.Format的详细用法(转)
- 梳理一下流式处理、实时计算、Add-hoc、离线计算、实时查询等区别
- springSecurity源码分析——DelegatingFilterProxy类的作用