char类型使用STL时压入和弹出的不同
来源:互联网 发布:c语言入门之后学什么 编辑:程序博客网 时间:2024/06/06 01:10
一次编程中,需要计算两个字节变量数据之间有几位不同,采用查表法
int bit_table[256] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8,};#define DIST(a,b) (bit_table[(a)^(b)])vector<char> a, b;a.push_back(0);b.push_back(255);DIST(a[0],b[0]);
出现的结果不正常,而将vector的声明改为
vector<unsigned char> a, b;
后结果正常
推测是因为弹出时视为int将最高位补齐所致
0 0
- char类型使用STL时压入和弹出的不同
- 【STL】 string和char 数组类型互换
- char a[]和char *a 的不同
- 关于char *和char [] 的不同
- varchar 和 char 的不同
- varchar 和 char 的不同
- unsigned char 、signed char 和 char的不同
- mysql varchar和char类型在不同字符集下的字符数和字节数计算
- 利用共用体实现不同基本类型和Char(Byte)的转换
- java和C/C++ 字符char类型占不同的字节!
- char类型和string类型的区别
- byte类型和char类型的区别
- int类型和char类型的区别
- 关于char[]类型的排序 和字符串在使用时可能char*更好用
- vector<char*>和vector<string>的不同
- 【MySQL】char和varchar的不同
- c++中的char类型的不同数值范围
- OCCI处理CHAR类型字符串变量的不同
- groupadd命令详解(实例)
- Windows的线程管理和调度机制
- 简单的MD5查询工具
- U-Boot添加命令的方法
- MySQL常见查询语句
- char类型使用STL时压入和弹出的不同
- 经典代码 南阳 oj 动态规划 背包问题
- codevs1006
- 2012 金华 现场赛
- 黑马程序员-----------设计模式
- 解决svn working copy locked问题
- 郁闷中创建虚拟网卡
- useradd命令详解
- ARCGIS Server加载地图