深入理解计算机系统 家庭作业2.60

看题: 0到w/8-1 此时根据输入的参数0x12345678,这是个8位的16进制数.每一位有四个二进制位也就4*8得出 w=32位,w/8-1=3,所以是从0到3编号.是一个倒序,而且是没两个数字编一个号.

编号⬇: 3 2 1 0

意思就是0x12 34 56 78

#include <stdio.h>

unsigned replace_byte(unsigned x,int i,unsigned char b);

int main(void)

{

printf ("0x%X\n",replace_byte(0x12345678,2,0xAB)) ;

printf ("0x%X\n",replace_byte(0x12345678,0,0xAB)) ;

}

unsigned replace_byte(unsigned x,int i,unsigned char b)

{

unsigned char *tar;

tar = (unsigned char *) &x;

tar[i]=b;//你会发现它本来就是小端法输出的,所以参数i可以用作下标.

return x;

}

相关推荐
爱编码的小八嘎3 小时前
C语言完美演绎6-17
c语言
DfromY5 小时前
【随手记】YOCTO下MQTT使用简记
c语言·网络协议
计算机安禾6 小时前
【数据结构与算法】第22篇:线索二叉树(Threaded Binary Tree)
c语言·开发语言·数据结构·学习·算法·链表·visual studio code
算法鑫探7 小时前
解密2025数字密码:数位统计之谜
c语言·数据结构·算法·新人首发
:mnong7 小时前
Superpowers 项目设计分析
java·c语言·c++·python·c#·php·skills
计算机安禾7 小时前
【数据结构与算法】第21篇:二叉树遍历的经典问题:由遍历序列重构二叉树
c语言·数据结构·学习·算法·重构·visual studio code·visual studio
笨笨饿8 小时前
26_为什么工程上必须使用拉普拉斯变换
c语言·开发语言·人工智能·嵌入式硬件·机器学习·编辑器·概率论
初生牛犊不怕苦9 小时前
与AI一起学习《C专家编程》:数组与指针
c语言·学习·算法
小CC吃豆子10 小时前
C/C++中 int 的最大最小值
c语言·开发语言·c++
co_wait12 小时前
【C语言】字符串处理函数
c语言·开发语言