我的位逻辑太过时了.需要复习

Ang*_*ker 2 hardware math bit-manipulation

自从我在大学的集会课以来已经有一段时间了(确切地说是20年).

当有人给你一个数字,比如19444,并说X是15到8位而Y是7到0位...我该如何计算X和Y的值?

我保证这不是功课,只是一个不明智地试图做一些固件编程的软件人.

Eli*_*sky 7

首先将输入数字转换为十六进制:

19444 => 0x4BF4
Run Code Online (Sandbox Code Playgroud)

Hex很方便,因为每4个二进制位是一个十六进制数字.因此,每2个十六进制数字是8位或一个字节.现在假设传统的小端符号(查找它!),第7位downto 0是低字节,第15位downto 8是高字节:

   [7:0] => 0xF4
   [15:8] => 0x4B
Run Code Online (Sandbox Code Playgroud)