深入理解计算机系统 家庭作业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;

}

相关推荐
江公望2 小时前
GNU C语句表达式,10分钟讲清楚
c语言·开发语言·c++
计算机安禾3 小时前
【数据结构与算法】第20篇:二叉树的链式存储与四种遍历(前序、中序、后序、层序)
c语言·开发语言·数据结构·c++·学习·算法·visual studio
学而要时习4 小时前
强化学习:从“试错进化“到“推理革命
c语言·人工智能·python·语言模型
wengqidaifeng4 小时前
备战蓝桥杯----C/C++组 (三)算法讲解前言
c语言·c++·蓝桥杯
Yupureki5 小时前
《Linux系统编程》20.常见程序设计模式
linux·服务器·c语言·c++·单例模式·建造者模式·责任链模式
Yupureki5 小时前
《算法竞赛从入门到国奖》算法基础:动态规划-最长子序列
c语言·c++·算法·动态规划
-凌凌漆-5 小时前
【C语言】大小端判断
linux·c语言·算法
爱编码的小八嘎6 小时前
C语言完美演绎6-15
c语言
时光之源6 小时前
记录:在VSCode中运行C/C++程序
c语言·c++·vscode
深邃-6 小时前
字符函数和字符串函数(2)
c语言·数据结构·c++·后端·算法·restful