Binary 十进制/十六进制/二进制转换

Binary 十进制/十六进制/二进制转换,binary,hex,decimal,Binary,Hex,Decimal,现在我正在准备AP计算机科学考试,我需要一些帮助来理解如何手工在十进制、十六进制和二进制之间转换。我正在使用的这本书(Barron的)包含了一个例子,但没有很好地解释它 在这些数字类型之间进行转换时,应该使用哪些公式?这是一个非常基本的问题,从入门级来看,其详细答案可能只有几页。试着:-)你对理解数字基础感到高兴吗?如果没有,那么你需要仔细阅读,否则你只会盲目地遵循一些规则 很多书都会花上一整章或更多的时间在这方面 二进制是以2为基数,十进制是以10为基数,十六进制是以16为基数 所以二进制使用

现在我正在准备AP计算机科学考试,我需要一些帮助来理解如何手工在十进制、十六进制和二进制之间转换。我正在使用的这本书(Barron的)包含了一个例子,但没有很好地解释它


在这些数字类型之间进行转换时,应该使用哪些公式?

这是一个非常基本的问题,从入门级来看,其详细答案可能只有几页。试着:-)

你对理解数字基础感到高兴吗?如果没有,那么你需要仔细阅读,否则你只会盲目地遵循一些规则

很多书都会花上一整章或更多的时间在这方面

二进制是以2为基数,十进制是以10为基数,十六进制是以16为基数

所以二进制使用数字0和1,十进制使用0-9,十六进制使用0-9,然后我们用完,所以我们也使用A-F

所以十进制数字的位置表示单位,十,百,千。。。这些是“10的力量”

二进制数字的位置表示单位2s、4s、8s、16s、32s…2的幂

十六进制数字的位置表示单位,16s,256s…16的幂

对于二进制到十进制,将每个1乘以其“幂”,从右到左计算:

1001 binary = 1*1 + 0*2 + 0*4 + 1*8 = 9 decimal
对于从二进制到十六进制的转换,您可以计算出十进制的总数,然后转换为十六进制,也可以将每个4位序列转换为单个十六进制数字:

1101 binary = 13 decimal = D hex

1111 0001 binary = F1 hex
对于十六进制到二进制,与前面的例子相反-在你的头脑中这样做并不太糟糕,因为你只需要计算出8,4,2,1中的哪一个需要相加才能得到所需的值

对于十进制到二进制,这更像是一个长除法问题-找到比输入小的2的最大幂,将相应的二进制位设置为1,然后从原始十进制数中减去2的幂。重复,直到你剩下零

例如,对于87:

  • 二者的最高幂为1,2,4,8,16,32,64
  • 64是2^6,因此我们在结果中将相关位设置为1:1000000
  • 87-64=23
  • 小于23的第二个最高幂次为16,因此设置位:1010000
  • 重复4,2,1次
  • 最终结果1010111二进制
  • i、 e.十进制64+16+4+2+1=87
对于十六进制到十进制,就像二进制到十进制一样,只需要乘以1,16256。。。而不是1,2,4,8


对于十进制到十六进制,这就像十进制到二进制一样,只是要寻找16的幂,而不是2的幂。这是最难手动完成的一项。

如果这是期末考试,我希望你考试不及格。也许管理更适合你?我想你在这里有些误解;我要参加的考试是AP计算机科学考试,是由大学委员会举办的。我目前在计算机科学一年级读大三,我的老师到目前为止只复习了基础知识(原语、布尔代数、封装、作用域、数组、数组列表等)。他根本没有检查过二进制/十六进制值。我不得不自学递归、网格世界、插入和选择搜索、继承和其他概念。我认为你错误地认为大家都知道什么是“AP计算机科学考试”。也没有十六进制值这样的东西。该值保持不变,仅为编号选择(重新)表示。10和0x0a与012具有相同的值,但表示方式不同。