#include <stdio.h>
#include <stdlib.h>
#include<iostream>
using namespace std;
int main(int argc, char *argv[])
{
unsigned short k3, k1, k2, k4;
unsigned int final_val;
unsigned short sc1,sc2,sa1,sa2;
unsigned short *val1, *val2;
unsigned int F1 = 0, F2 = 0, F3= 0, F4 = 0;
char m1[2] = {'z', 'y'};
char m2[2] = {'y', 'x'};
val1 = (unsigned short *)m1;
val2 = (unsigned short *)m2;
printf("\n m1=0x%x; m2=0x%x \n", *val1, *val2);
char *c1 = (char *)m1; //
char *c2 = (char *)(m1 + 1); //
char *a1 = (char *)m2; //
char *a2 = (char *)(m2 + 1); //
sc1 = *c1;
sc2 = *c2;
sa1 = *a1;
sa2 = *a2;
F1 = sc1 * sa1;
if ((F1 & 0xff00) > 0)
{
k1 = (F1 & 0xff00) >> 8;
F1 = F1 & 0xff;
F2 += k1;
}
F2 += sc2 * sa1;
if ((F2 & 0xff00) > 0)
{
k2 = (F2 & 0xff00) >> 8;
F2 = F2 & 0xff;
}
F3 = sc1 * sa2;
if ((F3 & 0xff00) > 0)
{
k3 = (F3 & 0xff00) >> 8;
F3 = F3 & 0xff;
F4 += k3;
}
F4 += sc2 * sa2;
if ((F4 & 0xff00) > 0)
{
k4 = (F4 & 0xff00) >> 8;
//F4 = F4 & 0xff;
}
final_val = F1 + ((F2 + F3) << 8) + ((k2 + F4) << 16);
printf("\nF1=0x%x, F2=0x%x, F3=0x%x, F4=0x%x final= 0x%x \n", F1, F2, F3, F4, final_val);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗