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

}

相关推荐
mount_myj8 小时前
长长久久【C语言】
c语言
Legendary_00811 小时前
LDR6500:USB‑C DRP PD协议芯片技术详解与应用实践
c语言·开发语言
dgaf15 小时前
DX12 快速教程(17) —— 立体图标与合并渲染
c语言·c++·3d·图形渲染·d3d12
念恒1230615 小时前
进程控制---自定义Shell
linux·c语言
程序员JerrySUN17 小时前
Jetson边缘嵌入式实战课程第二讲:JetPack 和 SDK Manager 是什么
c语言·开发语言·网络·udp·音视频
我不是懒洋洋17 小时前
布谷鸟过滤器:比布隆过滤器更优雅的判重方案
c语言·经验分享
忡黑梨17 小时前
eNSP_从直连到BGP全网互通
c语言·网络·数据结构·python·算法·网络安全
handler0119 小时前
Git 核心指令速查
linux·c语言·c++·笔记·git·学习
学会去珍惜19 小时前
学会C语言可以做什么
c语言·网络编程·游戏开发·嵌入式系统·系统编程
『昊纸』℃20 小时前
Mac上编译C语言的简易方法
c语言·mac·教程·xcode·编译