首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数字转换一般方法?

数字转换一般方法?
EN

Stack Overflow用户
提问于 2010-08-10 11:49:55
回答 1查看 154关注 0票数 2

这是关于如何在二进制到八进制、八进制到十六进制、二进制到十六进制之间进行数字转换。(在所有这些小数点中,无论是源还是目的地,都不存在)

无论是在源中还是目标中,每当涉及十进制时,我都有一个一般的方法,

  • ,如果十进制是源,则对该数字执行带有目标基的mod操作。(以同样的方式继续,并得到结果),

2示例:将十进制20转换为八进制

  • 20 mod 8=4
    • 2 =

所以八月份是24。这样你就可以做任何事情(二进制,十六进制)从十进制。

  • ,如果十进制是目标,则执行从0到N的从左到右开始的源基乘法操作。加起来得到小数点。

8示例:将二进制1010转换为十进制

  • 0 :0x2**0=0
    • 1 :1x2*1=2
      • 0 :0x2*2=0H 1251:1x2*3=

之和为10,单位为十进制。这样你就可以做任何事情(八进制,十六进制)到十进制。

问题

有没有类似的一般逻辑,我可以用来转换八进制,十六进制和二进制?

希望上面是清楚的..。否则就让我知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-10 12:32:59

二进制和八进制或十六进制之间的转换甚至比十进制更容易。只需将二进制数字分成3或4组(取决于oct或十六进制),然后将每个组转换为一个数字。(如果您没有3或4个二进制数的倍数,只需将数字左加零。)

示例:

代码语言:javascript
复制
111101111010 binary
1111 0111 1010
   F    7    A
           F7A hex

111101111010
111 101 111 010
  7   5   7   2
           7572 oct

转换回来正好相反。八进制或十六进制中的每个数字直接转换为3位或4位二进制数字。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3448580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档