24位转32位

24位转32位(有符号)

题目:试编写一段程序,将24位有符号结果转变为32位有符号结果。

代码:

24位转32位

运行结果:

24位转32位

具体编写过程:

  1. 将24位数分为3个字节H M L。
  2. 通过与操作提取符号位并赋值给A,A=H&0x80,再次通过与操作,保留去符号位的其他值B=H&0x7F。
  3. 将符号位A,B左移,M左移8位,A B M L组成新的32 位有符号结果。
  4. 判断A是否不为0,若不为0,则无符号结果为b=a-0x80000000,输出十进制数时添加负号。 若为0,则直接输出a。