深入理解计算机系统 家庭作业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语言指针一】从入门到通透:核心知识点全梳理(内存、变量、运算、const修饰)
c语言·开发语言·c++
hefaxiang19 分钟前
猜数字小游戏--用分支和循环实现
c语言·开发语言
EXtreme351 小时前
【C语言/数据结构】零基础打造控制台游戏:贪吃蛇实战教程----链表与Win32 API的完美结合!
c语言·数据结构·链表·贪吃蛇·宽字符·win32 api·控制台编程
byte轻骑兵1 小时前
【C语言入门】基本语法汇总
c语言
小年糕是糕手3 小时前
【C++】内存管理(下)
java·c语言·开发语言·数据结构·c++·算法
赖small强3 小时前
【Linux C/C++开发】Linux C/C++编译参数 `-fPIC` 深度解析
linux·c语言·c++
自然常数e3 小时前
深入理解指针(5)
c语言·数据结构·visual studio
吃西瓜的年年14 小时前
1. 初识C语言
c语言·开发语言
永远都不秃头的程序员(互关)15 小时前
C语言 基本语法
c语言·开发语言
赖small强16 小时前
【Linux C/C++开发】Linux 平台 Stack Protector 机制深度解析
linux·c语言·c++·stack protector·stack-protector·金丝雀机制