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

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

return x;

}

相关推荐
学逆向的6 小时前
C 循环结构的执行效率分析
c语言·开发语言·数据结构·网络安全
Navigator_Z9 小时前
LeetCode //C - 1293. Shortest Path in a Grid with Obstacles Elimination
c语言·算法·leetcode
jeo陽9 小时前
04-循环实战:素数、最大公约数、级数求和与枚举法
c语言·开发语言·数据结构
爱读书的小胖11 小时前
LeetCode 88. 合并两个有序数组 C 解题分析
c语言·数据结构·算法
inrichtt12 小时前
第七课时:STM32时钟系统揭秘:从零理解时钟树
c语言·数据结构·stm32·单片机·嵌入式硬件
知识分享小能手12 小时前
C学习教程,从入门到精通,C语言指针 —— 详细知识点总结(10)
c语言·开发语言·学习
金融小师妹12 小时前
多因子时间序列分析:美元与美债收益率变化对黄金价格+1.6%的影响
c语言·人工智能·git·决策树·pyqt
额额额对了13 小时前
Linux 驱动开发:基于 platform 总线 + misc 设备的 DS18B20 单总线温度驱动
linux·c语言·开发语言·驱动开发·嵌入式硬件
奶盐cookie13 小时前
内存区域:栈、全局区和静态区
c语言
头像很酷13 小时前
嵌入式虚拟化-xvisor-跨越边界的读客
c语言·hypervisor·xvisor·嵌入式虚拟化