VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 514|回复: 2
打印 上一主题 下一主题

C语言:十六进制

[复制链接]
58_avatar_middle
最佳答案
0 
跳转到指定楼层
1#
在线会员 发表于 2018-12-8 22:06:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
3驿站币
本帖最后由 onlin 于 2018-12-8 22:11 编辑

一、十六进制a等于十进制10,.1f是1/16加上15/256(十六进制f等于十进制15),p10是2¹⁰或
1024。0xa.1fp10表示的值是(10+1/16+15/256)X1024(即,十进制10364.0)

疑问一:1/16和15/256怎么来的?

疑问二:小数点后面的16进制数是怎么计算的?

疑问三:p10是2¹⁰为什么会等于1024.

有个地方会乱码大家看下图片~~

C语言:十六进制





上一篇:如何去点击网页上没有id没有name的按钮
下一篇:C++继承问题
75_avatar_middle
最佳答案
0 
2#
在线会员 发表于 2018-12-8 22:44:16 | 只看该作者
不太懂这个表示表达式。
我尝试解答一下你的问题。
0xA.1Fp10  应该就是这样理解的吧。
0x就是表示16进制
A = 10
1 = 1
F = 15
p10就是你说的2的10次方 即1024
因为是“”.“”1f
所以是小数部分。
他的基数是16进制即是16 所以小数后面第一位 就是除以16  
第二位就是除以16的平方 即256
你只要记住16进制的基数是16就能理解这个表达式了。
58_avatar_middle
最佳答案
0 
3#
ico_lz  楼主| 发表于 2018-12-8 23:19:50 | 只看该作者
coldBro 发表于 2018-12-8 22:44
不太懂这个表示表达式。
我尝试解答一下你的问题。
0xA.1Fp10  应该就是这样理解的吧。

感谢师傅的解答,还有一个疑问就是,为什么小数点是从第一位开始,而整数却是从个位开始。。。

就比如0X2A

2*16^1+10*16^0

=42
75_avatar_middle
最佳答案
0 
4#
在线会员 发表于 2018-12-9 09:59:26 | 只看该作者
onlin 发表于 2018-12-8 23:19
感谢师傅的解答,还有一个疑问就是,为什么小数点是从第一位开始,而整数却是从个位开始。。。

就比如 ...

可以理解为 个位 就是“原点”。
拿十进制来说,个位就是10的0次方,十位就是10的1次方。而小数点后第一位就是10的-1次方。
78_avatar_middle
最佳答案
0 
5#
在线会员 发表于 2018-12-10 05:44:00 | 只看该作者
1/16+15/256=0.12109375,是近似值,16进制表示10进制时,有时候类似于10进制表示pi,对于无理数只能采取近似值,只要满足工程应用的精度即可。本质上16进制(二进制)数应该是二的阶乘,比如...+a*16+b*8+c*4+d*2+e*1+f/2+g/4+h/8+i/16...,只是0.1恰好只有1/16和15/256凑得比较合适,当然如果精度要求高的话,肯定会很长,上述解释可以解决问题1和问题2

2的10次方,等于1024,该问题就像问为啥1+1等于2一样,数学计算中的常识嘛,只是表示为p10不是一种通用的方法,估计只是为了图简单表示,当然p表示pow的意思,在C语言中是多少次方的一个函数。

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-12-10 16:15

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表
时时彩平台排名