c语言作业题11.11/12

来源:互联网 发布:wow.js是用来做什么的 编辑:程序博客网 时间:2024/04/30 12:56

1.给定一个整型数a,设置a的bit3(为1),保证其他位不变。

# include<stdio.h>//1.给定一个整型数a,设置a的bit3(为1),保证其他位不变。int main(){    unsigned int a = 0xffff1234;    a *= ~(0x8);    a += 0x8;    printf("a = 0x%x\n",a);    return 0 ;}

3.给定一个整型数a,清除a的bit15,保证其他位不变。

#include<stdio.h> //3.给定一个整型数a,清除a的bit15,保证其他位不变。int main(){    unsigned int a = 0xffffffff;    // a &= ~(0x1 << 15);    printf("a = 0x%x\n",a &= ~(0x1 << 15));    return 0;}

4.给定一个整形数a,清除a的bit15~bit23,保持其他位不变。

#include<stdio.h>//4.给定一个整形数a,清除a的bit15~bit23,保持其他位不变。int main(){    unsigned int a =0xffffffff;    a = ~(0x1ff << 15) & a;    printf("a = 0x%x\n",a);    return 0;}

5.给定一个整形数a,取出a的bit3~bit8。

#include<stdio.h>//5.给定一个整形数a,取出a的bit3~bit8。int main(){    unsigned int a =0xffffff4f;    a= a & (0x3f << 3);    a = a >> 3;    printf("a = 0x%x\n",a);    return 0; }

6.用C语言给一个整形数的bit7~bit17赋值937(其余位不受影响)。

#include<stdio.h>// 6.用C语言给一个整形数的bit7~bit17赋值937(其余位不受影响)。int main(){    unsigned int a = 0xffffffff;    a &= ~(0x7ff << 7);    a += (937 << 7);    printf("a = 0x%x\n",a);    return 0;}

7.用C语言将一个整形数的bit7~bit17中的值加17(其余位不受影响)。

#include<stdio.h>// 7.用C语言将一个整形数的bit7~bit17中的值加17(其余位不受影响)。int main(){    unsigned int a = 0x12345678;    a += (17 << 7);    printf("a = 0x%x\n",a);    return 0;}

8.用C语言给一个整形数的bit7~bit17赋值937,同时给bit21~bit25赋值17.

#include<stdio.h>// 8.用C语言给一个整形数的bit7~bit17赋值937,同时给bit21~bit25赋值17.int main(){    unsigned int a = 0x12345678;    a &= ~(0x7ff << 7);    a += (937 << 7);    a &= ~(0x1f << 21);    a += (17 << 21);    printf("a = 0x%x\n",a);    return 0;}