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

}

相关推荐
weixin_6495556735 分钟前
C语言程序设计第四版(何钦铭、颜晖)第十章函数与程序设计之汉诺塔问题
c语言·c++·算法
C羊驼39 分钟前
C语言:随机数
c语言·开发语言·经验分享·笔记·算法
fengfuyao9851 小时前
CH552多功能音量调节旋钮设计与实现
c语言·开发语言
炸膛坦客3 小时前
单片机/C/C++八股:(十六)C 中 malloc/free 和 C++ 中 new/delete 有什么区别?
c语言·开发语言·c++
Navigator_Z3 小时前
LeetCode //C - 990. Satisfiability of Equality Equations
c语言·算法·leetcode
Book思议-4 小时前
【数据结构实战】双向链表:在指定位置插入数据
c语言·数据结构·算法·链表
C羊驼5 小时前
C/C++数据结构与算法:穷举法
c语言·c++·笔记·学习·算法
程序员敲代码吗5 小时前
USB-C接口深度测试:从Vconn到电压的全方位分析
c语言·开发语言
Hello eveybody5 小时前
C语言的发明者介绍
c语言
weixin_537590456 小时前
《C程序设计语言》练习答案(练习1-5)
c语言·开发语言