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

}

相关推荐
一叶落4385 分钟前
LeetCode 134. 加油站(贪心算法详解 + C语言实现)
c语言·数据结构·算法·leetcode·贪心算法
badhope40 分钟前
Python、C、Java 终极对决!谁主沉浮?谁将消亡?
java·c语言·开发语言·javascript·人工智能·python·github
一叶落4381 小时前
LeetCode 151. 反转字符串中的单词(C语言)【双指针 + 字符串处理】
c语言·数据结构·算法·leetcode
廖圣平1 小时前
Drogon 现代化C ++高性能框架
android·c语言·开发语言
计算机安禾1 小时前
【C语言程序设计】第30篇:指针与字符串
c语言·开发语言·c++·算法·visualstudio·visual studio code·visual studio
小年糕是糕手1 小时前
【35天从0开始备战蓝桥杯 -- 刷题包】
c语言·jvm·数据结构·c++·算法·蓝桥杯
枫叶丹42 小时前
【HarmonyOS 6.0】Media Kit:细粒度控制屏幕捕获,详解图像填充模式C API
c语言·开发语言·华为·harmonyos
自信150413057592 小时前
数据结构之二叉树算法题
c语言·数据结构·算法
草莓熊Lotso2 小时前
Linux 进程间通信之 System V 共享内存:IPC 的原理与实战
linux·运维·服务器·c语言·数据库·c++·人工智能
豆浆煮粉2 小时前
Linux驱动开发理解指针与结构体
linux·c语言·驱动开发