以BCD(16进制)码存储的Char数据以Int型表示
来源:互联网 发布:云计算的特征是什么 编辑:程序博客网 时间:2024/06/06 02:24
char型数据里面的数据是以16进制数存储的,每个char型数据的可能值是从0x00~0xff(表示为2进制范围是从00000000~11111111)的16进制数,即每个char型数据里面能存储8位的数据。如果存储类型为BCD码,那也就是按照2进制来存储数据。对应表如下:
- Int 二进制 BCD码 Hex
- 0 0000 0000 0
- 1 0001 0001 1
- 2 0010 0010 2
- 3 0011 0011 3
- 4 0100 0100 4
- 5 0101 0101 5
- 6 0110 0110 6
- 7 0111 0111 7
- 8 1000 1000 8
- 9 1001 1001 9
- 10 1010 1010 A
- 11 1011 1011 B
- 12 1100 1100 C
- 13 1101 1101 D
- 14 1110 1110 E
- 15 1111 1111 F
实现转换的代码如下:
- #include<iostream>
- #include<time.h>
- using namespace std;
- string Char2BCD(unsigned char *c,int len)
- {
- char s[100];
- char c1,c2;
- string str="";
- for(int i=0;i<len;i++)
- {
- c1= c[i]&0x0f;//提取2进制数的低4位
- c2= c[i]>>4;//提取2进制数的高4位
- int n=c2*10+c1;//转成int(10进制数)表示
- //int n=(int)(((c2&0x08+c2&0x04+c2&0x02+c2&0x01)<<4)+(c1&0x08+c1&0x04+c1&0x02+c1&0x01));
- if(n<=9&&n>=0)
- {
- str+="0";
- }
- str+=itoa(n,s,10);
- }
- return str;
- }
- int main(){
- char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
- time_t timep;
- struct tm *p;
- time(&timep);
- p=localtime(&timep); /*取得当地时间*/
- printf ("%d %d %d ", (1900+p->tm_year),( 1+p->tm_mon), p->tm_mday);
- printf("%s %d:%d:%d\n", wday[p->tm_wday],p->tm_hour, p->tm_min, p->tm_sec);
- int tt=(p->tm_year-100);
- unsigned char cc=(((tt/10)&0x0f)<<4)+((tt%10)&0x0f);
- cout<<"YY: "<<Char2BCD(&cc,1)<<endl;
- cout<<"INT: "<<0x17<<endl;//16进制的0x17是10进制(即int型)的23
- unsigned char c=0x17;
- cout<<"BCD: "<<Char2BCD(&c,1)<<endl;
- unsigned char a[4]={0x17,0x99,0x99};
- cout<<"ID "<<Char2BCD(a,3)<<endl;
- system("pause");
- }
- 以BCD(16进制)码存储的Char数据以Int型表示
- 以BCD(16进制)码存储的Char数据以Int型表示
- char型数据存储成Int(16进制值相互转换)
- BCD码的表示方法
- 以XML存储数据的HTML
- Oracle处理以,隔开存储的数据
- 将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示
- BCD数据表示
- C语言 将int型数据以二进制形式输出
- int型整数和BCD码之间的相互转化
- NAS:以数据为中心的数据存储模式[zt]
- 编写一个程序以二进制形式显示int型值在计算机中的表示
- 整形数int、浮点型数据float,在内存中存储的表示
- 【积累】 int 10进制 byte 16进制,BCD码 String之间的转换
- 以XML文件存储配置数据的技术实现,c++
- [abap] smartforms句柄与以簇的方式存储数据
- smartforms句柄与以簇的方式存储数据。
- 以字节为单位显示变量的内存存储数据
- 从一道面试题谈linux下fork的运行机制
- Delphi 的接口机制——接口操作的编译器实现过程(1)
- Android中刻度尺实现
- ios获得通讯录中联系人的所有属性
- Linux之并发进程服务器
- 以BCD(16进制)码存储的Char数据以Int型表示
- Delphi 的接口机制——接口操作的编译器实现过程(2)
- Session
- C++枚举类型
- Java调用webservice的例子
- SQL 选择表中第十到第二十的数据
- C++中虚函数工作原理和(虚)继承类的内存占用大小计算
- Python Standard Library(翻译)
- Linux下Luabind编译和使用环境的搭建