十进制数104的二进制等价物

Ire*_*ing 2 binary decimal

好的,所以我知道104的二进制等价值是1101000.

10 = 1010

4 = 0100

所以,104 = 1101000(如何得到这些?这两者如何混合在一起得到这个二进制文件?)

这里的例子来看......

来自"hellohello"的八位字节是E8 32 9B FD 46 97 D9 EC 37.

This bit is inserted to the left which yields 1 + 1101000 = 11101000 ("E8").

我仍然明白这一部分,但如何将11101000转换为E8?

我对所有这些菜鸟问题感到抱歉,我昨天才学会它,我用Google搜索并搜索了一整天,但仍然没有真正理解这个概念......

谢谢.

sar*_*old 5

好的,所以我知道104的二进制等价值是1101000.

10 = 1010
4 = 0100

你不能掰开了许多像104104改变基地.您需要查看整个数字104.从位位表及其十进制等值开始:

1            1
2           10
4          100
8         1000
16       10000
32      100000
64     1000000
128   10000000
Run Code Online (Sandbox Code Playgroud)

查找仍然小于您的input数字的最大十进制数:104- 它是64.写下来:

1000000
Run Code Online (Sandbox Code Playgroud)

减去64来自104:104-64=40.用40(32在这种情况下)重复表查找,并在第一个下面写下相应的位模式 - 对齐最右边的最低位:

1000000
 100000
Run Code Online (Sandbox Code Playgroud)

重复40-32=8:

1000000
 100000
   1000
Run Code Online (Sandbox Code Playgroud)

由于之后没有遗留任何东西8,你就完蛋了.总结这三个数字:

1101000
Run Code Online (Sandbox Code Playgroud)

这是二进制代表104.

要转换1101000为十六进制,我们可以使用一个小技巧,非常类似于您尝试使用,10并且4从二进制版本构建十六进制版本而不需要太多工作 - 一次查看四位组.这个技巧有效,因为四位基本2表示完全代表了基本16表示的选项范围:

Bin  Dec  Hex
0000 0    0
0001 1    1
0010 2    2
0011 3    3
0100 4    4
0101 5    5
0110 6    6
0111 7    7
1000 8    8
1001 9    9
1010 10   A
1011 11   B
1100 12   C
1101 13   D
1110 14   E
1111 15   F
Run Code Online (Sandbox Code Playgroud)

第一组四位(插入足以导致0将其填充为四位)01106十进制,6十六进制; 第二组四位,10008十进制,8十六进制,所以0x68是十六进制表示104.