c语言第一次练习题

练习:
1.给定一个整型数a,设置a的bit3(为1),保证其他位不变。
2.给定一个整形数a,设置a的bit3~bit7,保持其他位不变。
3.给定一个整型数a,清除a的bit15,保证其他位不变。
4.给定一个整形数a,清除a的bit15~bit23,保持其他位不变。
5.给定一个整形数a,取出a的bit3~bit8。
6.用C语言给一个整形数的bit7~bit17赋值937(其余位不受影响)。
7.用C语言将一个整形数的bit7~bit17中的值加17(其余位不受影响)。
8.用C语言给一个整形数的bit7~bit17赋值937,同时给bit21~bit25赋值17.

第一题:

#include<stdio.h>


int main(void)
{
        int a = 0x12345678;
        a = (a | (0x1 << 3));
        printf("0x%x",a);
}

运行结果:0x12345678
8表示为二进制是 1000
1是它的第三位
1 | 1 = 1

第二题:

#include<stdio.h>


int main(void)
{
int a = 0x12345678;     //给一个整数十六进制12345678 
a = a | (0b11111<<3); //将3到7位的数值设定为1 
printf("0x%x",a);
}

运行结果:0x123456f8
3到7位本来是01111
11111 | 01111 = 11111
f代表十六进制的15

第三题:

#include<stdio.h>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值