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

}

相关推荐
黎雁·泠崖44 分钟前
C 语言文件操作高阶:读取结束判定 + 缓冲区原理 + 常见错误
c语言·开发语言·缓存
黎雁·泠崖1 小时前
C 语言预处理核心(上):预定义符号 + #define 常量与宏全解析
c语言·开发语言
-Excalibur-1 小时前
ARP RIP OSPF BGP DHCP以及其他计算机网络当中的通信过程和广播帧单播帧的整理
c语言·网络·python·学习·tcp/ip·算法·智能路由器
刃神太酷啦1 小时前
Linux 底层核心精讲:环境变量、命令行参数与程序地址空间全解析----《Hello Linux!》(7)
linux·运维·服务器·c语言·c++·chrome·算法
秦苒&1 小时前
【C语言】字符函数和字符串函数:字符分类函数 、字符转换函数 、 strlen 、strcpy、 strcat、strcmp的使用和模拟实现
c语言·开发语言
-Excalibur-1 小时前
关于计算机网络当中的各种计时器
java·c语言·网络·c++·笔记·python·计算机网络
枫叶丹43 小时前
【Qt开发】Qt系统(一)-> 定时器 QTimerEvent 和 QTimer
c语言·开发语言·数据库·c++·qt·系统架构
自然常数e14 小时前
字符函数和字符串函数
c语言·算法·visual studio
山上三树14 小时前
main()函数带参数的用法
linux·c语言
lengjingzju15 小时前
一网打尽Linux IPC(一):进程间通信完全指南——总体介绍
linux·服务器·c语言