您的位置
主页 > 国际新闻 » 正文

计组实验一

来源:www.zskhxc.com.cn 点击:1981

群体规划实验的第一个

主题要求

x是一个整型变量,最左边的位是最高位,即第31位。最右边的位是最低位,即第0位。分别编写7 C语言函数来完成以下操作:

1。将X的0~12位反转,其他位保持不变;

2。清除X的第13至17位,其他位保持不变;

3。将X的第18至22个位置设为1,其他位置保持不变;

4。用用户任意指定的6位代替23~28位,例如,将这6位设为0x2a,其他位不变;

5。如果0≤i≤31,0≤j≤31,j≥i,则读取x的位i~j的内容,

6。如果0≤i≤31,则交换X的第I位和第31位。

7。根据X的最高3位数值(数值范围应为0~8),完成以下操作并输出操作结果:

(1)数值为1,完成问题1的操作;

(2)值为2,完成问题2的操作;

(3)值为3,完成问题3的操作;

(7)值为其他,不采取任何操作。

本主题的标题并不难,关键主要是位操作,一些指针知识在C语言中使用代码

二进制转换

作为关键。与普通二进制转换不同的是,

step涉及到C语言中的位操作符:

C语言中的所有位操作都是指二进制数的位操作。即使输入了十进制数,它也会以二进制形式存储在内存中。

用法:

格式:a=0。

function:根据二进制位将整数a向左移动m位,并在高位移位后在低位填充0。

用法:

format is: am,a和m必须是整数表达式,并且m=0是必需的。

函数:根据二进制位将整数A向右移动M位。低位移后,高阶互补0

双目算子。第一操作对象是移位对象,第二操作对象是移位二进制位。

通过查找优先级表,我们可以知道移位操作优先于操作

这里我们以17为例

17二进制表示(8位)

0001 0001

1二进制表示

0000 0001

右移位操作在这里相当于传送带功能,依次将数据向右移位。最右边的数据输出

(1相当于输出本身)

指针数组

这个问题需要使用函数来传递数组,所以指针的使用特别重要。

以一些函数为例。

array1[]这是我新建立的数组。传输参数时,只需直接写入数组名。

array1[]这是我新建立的数组。传输参数时,只需直接写入数组名。

在被调用函数的声明中,第二个参数是指针指向的数组(这样说是不准确的)

code

最后附上所有的codes

summary

号。

请复习并阅读更多关于C语言的内容。为了以后复习算法问题,应该再次检查数据结构。

-