10 16进制相互转换如何实现 点击:1363 | 回复:17



10423008

    
  • 精华:0帖
  • 求助:7帖
  • 帖子:10帖 | 98回
  • 年度积分:0
  • 历史总积分:146
  • 注册:2015年1月20日
发表于:2016-02-22 14:59:09
楼主

如何实现10 16进制数的相互转





zhyi0214

  • 精华:6帖
  • 求助:15帖
  • 帖子:952帖 | 3159回
  • 年度积分:3389
  • 历史总积分:23606
  • 注册:2014年8月14日
发表于:2016-02-22 15:29:41
1楼

16进制转换为10进制,按幂展开就可以了,假如16进制的213换算成10进制那么算法如下:2*16*16+1*16+3=531

10进制转化为16进制有2种方法,第一,可以把10进制转化为2进制,然后2进制按4位为1位转化为对应的16进制。第二,可以直接把10进制数连续除以16,除得的结果按逆序排列就可以了,举例如图所示:

成功在于每天

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 49回
  • 年度积分:1
  • 历史总积分:106
  • 注册:2015年11月07日
发表于:2016-02-22 16:03:27
2楼

进制之间是不需要转换的。

10423008

  • 精华:0帖
  • 求助:7帖
  • 帖子:10帖 | 98回
  • 年度积分:0
  • 历史总积分:146
  • 注册:2015年1月20日
发表于:2016-02-22 16:06:38
3楼


回复内容:

对: 成功在于每天 进制之间是不需要转换的。 内容的回复!

我在触摸屏输入的是10进制数,但是通信输出的是16进制数。回传的也是16进制数,但是要在触摸屏上显示10进制数。所以应该是需要转换的

10423008

  • 精华:0帖
  • 求助:7帖
  • 帖子:10帖 | 98回
  • 年度积分:0
  • 历史总积分:146
  • 注册:2015年1月20日
发表于:2016-02-22 16:10:33
4楼


回复内容:

对: zhyi0214 16进制转换为10进制,按幂展开就可以了,假如16进制... 内容的回复!

这样写程序是不是有点太漫长

成功在于每天

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 49回
  • 年度积分:1
  • 历史总积分:106
  • 注册:2015年11月07日
发表于:2016-02-22 16:21:13
5楼


回复内容:

对: 10423008 回复内容:对: 成功在于每天  进制之间是不需要转换的... 内容的回复!


不需要转换

10423008

  • 精华:0帖
  • 求助:7帖
  • 帖子:10帖 | 98回
  • 年度积分:0
  • 历史总积分:146
  • 注册:2015年1月20日
发表于:2016-02-22 16:27:07
6楼


回复内容:

对: 成功在于每天 回复内容:对: 10423008  回复内容:对: 成... 内容的回复!

我只要把触摸屏存储的位置如DT300赋值到要发送的DT1300就可以了吗?他会自动变为16进制吗?还是传送时无论什么进制的都会变为2进制所以不用转换

江湖走走--原创军团

  • [版主]
  • 精华:30帖
  • 求助:7帖
  • 帖子:836帖 | 7833回
  • 年度积分:193
  • 历史总积分:46108
  • 注册:2001年2月15日
发表于:2016-02-22 16:43:24
7楼

十进制转换成N进制

(口诀:除N取余,逆序排列)

 

代码K=十进制    B=二进制     H=十六进制

 

例1:K200=B?    (十进制转换成二进制)

 

200÷2=100------余数0   (LSD   低位)

100÷2=50-------余数0

50÷2=25--------余数0

25÷2=12--------余数1

12÷2=6---------余数0

6÷2=3----------余数0

3÷2=1----------余数1

1÷2=0----------余数1   (MSD   高位)

 

即,K200=B11001000

 

 

例2:K8000=H?      (十进制转换成十六进制)    (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,)

 

8000÷16=500-----余数0              (LSD   低位)

500÷16=31--------余数4

31÷16=1----------余数15(F)

1÷16=0-----------余数1              (MSD   高位)

 

即,K8000=H  1F40

 

sileizhihen

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 473回
  • 年度积分:0
  • 历史总积分:2657
  • 注册:2011年7月11日
发表于:2016-02-22 16:58:26
8楼

你直接把触摸屏上数用十进制表示就可以了,程序通讯那块 会自己转换的不用考虑

10423008

  • 精华:0帖
  • 求助:7帖
  • 帖子:10帖 | 98回
  • 年度积分:0
  • 历史总积分:146
  • 注册:2015年1月20日
发表于:2016-02-22 16:59:47
9楼


回复内容:

对: sileizhihen 你直接把触摸屏上数用十进制表示就可以了,程序通讯那块 ... 内容的回复!

谢谢


乖乖小笨熊

  • 精华:2帖
  • 求助:0帖
  • 帖子:1200帖 | 11283回
  • 年度积分:2326
  • 历史总积分:62523
  • 注册:2006年8月05日
发表于:2016-02-22 21:06:24
10楼

嗨,你首先说要达到的目的,还有为什么要这样行吗

成功在于每天

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 49回
  • 年度积分:1
  • 历史总积分:106
  • 注册:2015年11月07日
发表于:2016-02-23 07:21:34
11楼


回复内容:

对: 10423008 回复内容:对: 成功在于每天  回复内容:对: 104... 内容的回复!

因为计算机只会用2进制存储

恩斯特.牛

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 50回
  • 年度积分:0
  • 历史总积分:451
  • 注册:2016年2月23日
发表于:2016-02-23 10:56:40
12楼

不需要转换,再怎么转机器读进去也只是0和1,显示不宜度的话就改成十进制好了

Q1370235739

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 288回
  • 年度积分:31
  • 历史总积分:388
  • 注册:2012年6月11日
发表于:2016-02-26 11:33:36
13楼

触摸屏上数值输入元件设定为10进制就可以了!

sssubcrew

  • 精华:1帖
  • 求助:2帖
  • 帖子:21帖 | 156回
  • 年度积分:7
  • 历史总积分:1763
  • 注册:2015年8月14日
发表于:2016-02-26 15:01:27
14楼

触摸屏显示元件处可以设定显示进制

213151

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2016年2月26日
发表于:2016-02-26 16:34:57
15楼

用手算可以用短除法。。。。。。。。。。。。。。。。。。。。。

TTHH

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2016年2月26日
发表于:2016-02-26 18:30:55
16楼

赞赞赞赞赞赞赞赞赞赞3

用计算器

yjh0706

  • 精华:11帖
  • 求助:17帖
  • 帖子:226帖 | 1334回
  • 年度积分:400
  • 历史总积分:15587
  • 注册:2010年1月03日
发表于:2016-02-29 18:39:15
17楼

俺数学差点,只会用计算器转换,果然高手如云啊,看来俺真的很菜


热门招聘
相关主题

官方公众号

智造工程师