c – 如何解释像0x0A这样的十六进制数?

c – 如何解释像0x0A这样的十六进制数?,第1张

概述0x0A在C中的含义是什么?我应该如何解释或读取这样的十六进制值? if (version < 760 || version > 760){ disconnectClient(0x0A, STRING_CLIENT_VERSION);}uint32_t accnumber = msg.GetU32();std::string password = msg.GetString(); 0x0A在C中的含义是什么?我应该如何解释或读取这样的十六进制值?
if (version < 760 || version > 760){    disconnectClIEnt(0x0A,STRING_CLIENT_VERSION);}uint32_t accnumber = msg.GetU32();std::string password = msg.GetString();if(!accnumber){    disconnectClIEnt(0x0A,"You must enter your account number.");    return false;}
解决方法 如前所述,0x0A等于十进制10(十).这等于LF(换行)的ASCII码,这是许多系统上的换行符.但在你的情况下,你使用 DisconnectClient,它需要ulONG.无论你是传递0xA还是只传递10都没关系.

在这种情况下,此数字的含义是客户端连接的接口.

编辑:再次查看您的代码,您的disconnectClIEnt函数与MSDN上的不同.如果它是用户定义的方法,找出0x0A的含义需要检查该方法本身或其文档(尽管它可能只是“真正的”disconnectClIEnt的存根,并且只是传递参数).

了解十六进制

编辑:如果你想知道这里的所有答案者如何知道十六进制0x0A等于十进制10,请继续阅读:

十六进制数是base-16(hexa = 6,deca = 10).我们现在习惯于基数10,但历史表明,基数为20(法国仍有quatre-vingt),基数为5(俄罗斯),其他人甚至在二元(基数为2)的数字变得普遍之前就被使用过了.用于电脑. Base-16就像10-base一样,但现在你没有10个手指,而是16个手指.

计算机只能以位为单位思考,四位(半字节)可以使数字为0-15.为了便于读取和写入位,使用了十六进制表示法.这将A-F添加到无处不在的数字0-9,其中A等于10,B等于11直到F等于15.

在编程语言中,通常使用x,0x或& h(取决于语言)来开始一个数字来表示十六进制数.与十进制数一样,前导零可以忽略.尾随零有明显的含义.

将十六进制转换为十进制

那么,你会如何从十六进制到十进制数?每个数字应乘以16的幂,而不是十进制的10的幂.有一个简单的通用公式可以从任何base-X到任何base-Y,但是它适用于从base-16到base-10.

>取每个十六进制数字,将其十进制版本写下来
>将每个数字乘以16 ^ pos,其中pos ==位置以十六进制数表示,最右边的位置为零
>添加结果

数字0x8B20变为:

8 * 16^3 = 8  * 4096 = 32768B * 16^2 = 11 * 256  =  28162 * 16^1 = 2  * 16   =    320 * 16^0 = 0  * 1    =     0                      -------  +                       35616

我希望,手工 *** 作相当繁琐,但你会得到漂移.如果您有windows,请在运行窗口或搜索框(Vista,W7)中键入Calc,然后单击查看>科学.现在您可以键入十六进制数字(按F5)并在十进制(F6),八进制(F7)和二进制(F8)之间切换.

关于数字及其基数还有很多话要说,但如果你需要更多,我建议你看看math forum faq,或Wikipedia (more general).要在很多基数之间进行转换,请尝试this online base-X calculator.

更新:添加了关于理解和转换十六进制数的部分,认为它可能适用;-)

总结

以上是内存溢出为你收集整理的c – 如何解释像0x0A这样的十六进制数?全部内容,希望文章能够帮你解决c – 如何解释像0x0A这样的十六进制数?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1237855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存