#include <stdio.h>
#include <stdlib.h>
void test01(unsigned char num1, unsigned char num2)//十六进制转十进制(2字节)
{
short a,b,num;
a = (num1^0xff) << 8;
b = num2^0xff;
num = -(a+b+1);
printf("十六进制转十进制(short型): %d\n", num);
}
void test02(unsigned char num1, unsigned char num2, unsigned char num3, unsigned char num4)//十六进制转十进制(4字节)
{
int a,b,c,d,num;
a = ((num1)^0xff) << 24;
b = ((num2)^0xff) << 16;
c = ((num3 )^0xff) << 8;
d = num4 ^0xff;
num = -(a + b +c + d +1);
printf("十六进制转十进制(int型): %d\n", num);
}
int main() {
test01(0xff,0xd6);
test02(0xff,0xff,0xf8,0x30);
printf("Hello, World!\n");
return 0;
}
十六进制转换成十进制(short、int)补码转换
于 2022-02-12 21:10:18 首次发布
该程序定义了两个函数,分别用于将2字节和4字节的十六进制数转换为十进制。通过位运算进行转换,并以负数形式输出结果。在主函数中调用了这两个函数,展示了转换过程。
补码转换&spm=1001.2101.3001.5002&articleId=122902117&d=1&t=3&u=96aa4686a302452bb5d7e83650fb3d15)
1593

被折叠的 条评论
为什么被折叠?



