请教一些C语言编程题目
太难了。。。希望有人可以帮忙告诉我正确的编程。1.写出实现下列功能的表达式(操作数x为int型数据)
(1)取x的低字节,高字节置0、
(2)保留x的第3位,其余各位置0.
(3)将x的高8位均置为1.其余各位不变。
(4)将x的最低位翻转,其余各位不变。
2.通过计算5<<1,5<<3,5<<4等值,以及20>>1,20>>3,20>>4等值,不溢出的情况下.x<<n=?x>>n=?.
3.写一个函数,对一个16位的二进制数取出它的奇数位(即从左边起第1,3,5,…15位)
4.编写一个程序,检查你所使用的C编译系统,是逻辑右移还是算数右移.如果是逻辑右移,请编写一个函数实现算数右移,如果是算数右移,则写一个函数实现逻辑右移..
5.编写一个函数用实现左右循环移位,函数名为move.调用方法为:int move(int value.char direction.int digits)
其中形参value是被循环移位的数.directiong是移动方向,:”r”为右移,:”1”左移,digits为移动位数.函数返回值为移动后的结果.
6设计一个函数.使给出一个数的原码,能得到该数的补码.