C/C++进制间的相互转换
来源:互联网 发布:手机网络dns被劫持 编辑:程序博客网 时间:2024/06/10 23:58
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <locale.h>int main() { int i,v; char bs[33]; char b[33]; char hs[9]; char h[9]; char s[4]; char *e;// 十进制整数转二进制串; i=1024; ltoa(i,b,2); sprintf(bs,"%032s",b); printf("i=%d,bs=%s\n",i,bs);// 十进制整数转十六进制串; i=1024; ltoa(i,h,16); sprintf(hs,"%08s",h); printf("i=%d,hs=%s\n",i,hs);// 十六进制字符串转成十进制数 strcpy(hs,"00000400"); sscanf(hs,"%x",&i); printf("hs=%s,i=%d\n",hs,i);// 二进制字符串转化为十六进制字符串; strcpy(bs,"00000000000000000000010000000000"); i=strtol(bs,&e,2); ltoa(i,h,16); sprintf(hs,"%08s",h); printf("bs=%s,hs=%s\n",bs,hs);// 二进制字符串转化为十进制数; strcpy(bs,"00000000000000000000010000000000"); i=strtol(bs,&e,2); printf("bs=%s,i=%d\n",bs,i);// 十六进制字符串转成二进制串 strcpy(hs,"00000400"); sscanf(hs,"%x",&i); ltoa(i,b,2); sprintf(bs,"%032s",b); printf("hs=%s,bs=%s\n",hs,bs);// ASC\GBK字符串转十六进制串 strcpy(s,"a汉"); i=0; while (1) { if (0==s[i]) break; sprintf(hs+i*2,"%02X",(unsigned char)s[i]); i++; } setlocale(LC_ALL,"chs"); printf("s=%s,hs=%s\n",s,hs);// 十六进制字符串转成汉字(GBK)及字符(ASC) strcpy(hs,"61BABA"); i=0; while (1) { if (1!=sscanf(hs+i*2,"%2x",&v)) break; s[i]=(char)v; i++; } s[i]=0; printf("hs=%s,s=%s\n",hs,s); return 0;}//i=1024,bs=00000000000000000000010000000000//i=1024,hs=00000400//hs=00000400,i=1024//bs=00000000000000000000010000000000,hs=00000400//bs=00000000000000000000010000000000,i=1024//hs=00000400,bs=00000000000000000000010000000000//s=a汉,hs=61BABA//hs=61BABA,s=a汉
转自
http://bbs.csdn.net/topics/390562178?page=1#post-395383165
0 0
- C/C++进制间的相互转换
- C实现数制之间的相互转换
- [c#] string和Enum的相互转换
- C#(C sharp)字符串和时间的相互转换
- [C/C++]_[utf8和unicode的相互转换]
- C#【数据转换】十进制\byte[]相互转换
- C#下,struct与字节数组的相互转换
- UNICODE 与 UTF8 的相互转换 (c++)版
- C++各种数据类型之间的相互转换
- C/C++里string与int的相互转换算法
- C语言十六进制数据同字符串的相互转换
- [C#]image与byte数组的相互转换
- C语言十六进制数据同字符串的相互转换
- C/C++使用心得:enum与int的相互转换
- C#.NET中string与byte数组的相互转换
- objective-c 日期和字符串的相互转换
- 【Visual C++】CDC与HDC的区别以及相互转换
- C语言十六进制数据同字符串的相互转换
- Nginx的安装与配置(二)
- 13 UIGestureRecognizer and UIMenuController
- overflow与flex同时使用发现的问题
- 管理系统权限模块技术方案
- SVN常用命令
- C/C++进制间的相互转换
- 验证Android事件传递机制(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent)
- iOS中XCode的一些调试技巧
- linux grep命令
- f.list() f.listFiles()
- Mac 修改环境变量
- 第七章 返回刷新页面的问题 (改变上级页面的状态)
- BZOJ 2423: [HAOI2010]最长公共子序列|动态规划
- jxls操作excel文件