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

}

相关推荐
是隼人8 小时前
buuctf-pwn [HarekazeCTF2019]baby_rop2(64位ret2libc)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
wuyk5559 小时前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
AAA代码批发商11 小时前
Days 39 Linux C 开发之 SQLite 数据库完整学习笔记
linux·c语言·数据库
卢锡荣13 小时前
单芯掌控多口互联|乐得瑞 LDR6020 PD3.1 多通道 Type‑C 控制 SOC 芯片
c语言·开发语言
wuminyu13 小时前
JVM锁膨胀与Futex源码解析
java·linux·c语言·jvm·c++
susplus13 小时前
【HTTP协议】HTTP介绍及基础【C语言爬虫实现】
c语言·爬虫·http·万维网
xx~t14 小时前
嵌入式——Linux软件编程——数据库
linux·c语言·数据库·oracle·sqlite
水饺编程14 小时前
第5章,[Win32 章节] :圆角矩形教学插图绘制程序
c语言·c++·windows·visual studio
是隼人14 小时前
buuctf-pwn PWN4(双引号的转义缺陷)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
码行山野赴时序归途14 小时前
C 语言文件操作完全指南:从打开到关闭
c语言·开发语言