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

}

相关推荐
爱编码的小八嘎11 小时前
C语言完美演绎4-7
c语言
炘爚12 小时前
C语言(文件操作)
c语言·开发语言
W.D.小糊涂13 小时前
gpu服务器安装windows+ubuntu24.04双系统
c语言·开发语言·数据库
C羊驼14 小时前
C语言:两天打鱼,三天晒网
c语言·经验分享·笔记·算法·青少年编程
本喵是FW16 小时前
C语言手记1
java·c语言·算法
炘爚18 小时前
C语言(const的指针定义的区别)
c语言
Z9fish19 小时前
sse哈工大C语言编程练习47
c语言·数据结构·算法
本喵是FW19 小时前
C语言手记2
c语言·开发语言
计算机安禾20 小时前
【C语言程序设计】第34篇:文件的概念与文件指针
c语言·开发语言·数据结构·c++·算法·visual studio code·visual studio
wangjialelele21 小时前
C++11、C++14、C++17、C++20新特性解析(一)
linux·c语言·开发语言·c++·c++20·visual studio