如何把16进制转成2进制

jj815196 2006-04-04 09:50:02
如何把16进制转成2进制!!
给个例题!!
...全文
795 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
For_suzhen 2006-04-06
  • 打赏
  • 举报
回复
县转化为10 进制,再转化为2进制
或者:
用cyberHunK(→迈克·老猫←) ( ) 信誉:117 2006-04-04 10:43:00 得分: 0


记住1位 对 4位的关系就可以了,如0xF1二进制为1111 0001
----------------------------------------------------------------
romanticlife 2006-04-06
  • 打赏
  • 举报
回复
不错啊!
yuanchuang 2006-04-06
  • 打赏
  • 举报
回复
cyberHunK(→迈克·老猫←) ( ) 信誉:117 2006-04-04 10:43:00 得分: 0


记住1位 对 4位的关系就可以了,如0xF1二进制为1111 0001
---------------------------------------------------------------------------
按此方法
steed_jet 2006-04-06
  • 打赏
  • 举报
回复
看看这样行不行!
如果在VC里可以调用atoi和_itoa;
屋顶上的老猫 2006-04-04
  • 打赏
  • 举报
回复
我告诉你个最简单的方法!
#define F 1111
#define E 1110
#define D 1101
.
.
.
.
#define 0 0000

转换成串后进行宏替换!
DraculaW 2006-04-04
  • 打赏
  • 举报
回复
直接将0到F对应的二进制值存放在一个数组中,判断字符串0x之后的各位字符,然后处理为0-15的数字为数组下标对应的输出。方便~~~~~~~
============================
楼上这句啥意思 没见过~
if('0'=<a[i]<='9') 能这么写吗 伪代码不是也不是这么写的吧~
===============

可以 因为将数字用单引号引起来的话 表示 将这个数字视为字符 他的值是他的ascii码值
屋顶上的老猫 2006-04-04
  • 打赏
  • 举报
回复
如果你要写个进制转换函数,先把数变成串吧!
DraculaW 2006-04-04
  • 打赏
  • 举报
回复
直接将0到F对应的二进制值存放在一个数组中,判断字符串0x之后的各位字符,然后处理为0-15的数字为数组下标对应的输出。方便~~~~~~~
============================
楼上这句啥意思 没见过~
if('0'=<a[i]<='9') 能这么写吗 伪代码不是也不是这么写的吧~
===================

可以 用单引号引起来 表示将这个数字视为字符 所以可以这样写
xiongmao007 2006-04-04
  • 打赏
  • 举报
回复
你有什么要求呀
北狐狸 2006-04-04
  • 打赏
  • 举报
回复
刚学的话:1位 对 4位
yinqing_yx 2006-04-04
  • 打赏
  • 举报
回复
直接将0到F对应的二进制值存放在一个数组中,判断字符串0x之后的各位字符,然后处理为0-15的数字为数组下标对应的输出。方便~~~~~~~
============================
楼上这句啥意思 没见过~
if('0'=<a[i]<='9') 能这么写吗 伪代码不是也不是这么写的吧~
xbt746 2006-04-04
  • 打赏
  • 举报
回复
楼上的有创意啊
DraculaW 2006-04-04
  • 打赏
  • 举报
回复
int a;
a = 0x123;

while(a){
cout<<(a&1);
a>>1;
}
这样就把16进制显示为2进制的 10了

如果你说的是 string a = "0x123"
那就
int b;
for(int i =2;i < a.lengh;i++){
if('0'=<a[i]<='9'){
b = a[i]-'0''
}else b= a[i]-'a'+ 10;

for(int j=0;j<4;j++)
cout<< (b>>i)&1;
}
屋顶上的老猫 2006-04-04
  • 打赏
  • 举报
回复
记住1位 对 4位的关系就可以了,如0xF1二进制为1111 0001
DraculaW 2006-04-04
  • 打赏
  • 举报
回复
最麻烦的方法
将每一位都提取出来然后 对每一位进行转换哪简单得多简单得多
或者也可以使用位移操作符加与操作来进行这个操作

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧