国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

位運算練習(1、將整數中的幾位取出來,取反輸出二進制2、將整數中間某一位置位 )

2019-11-11 06:36:52
字體:
來源:轉載
供稿:網友

1、  輸入一個整數a,再輸入兩個整數p1,p2(p1,p2<32),將該整數的二進制表示方法中從右端開始的p1到p2位取反后輸出

/*****************************************************copyright (C), 2016-2017, Lighting Studio. Co.,     Ltd. File name:Author:王    Version:0.1    Date: Description:Funcion List: *****************************************************/#include <stdio.h>int main(){	int a,p1,p2,temp1;	int i,mask;	PRintf("Enter the number:");	scanf("%d",&a);	printf("choose the number between p1 to p2:");	scanf("%d%d",&p1,&p2);	if(p1>p2)                                 // 如果p1>p2 時進行數據交換	{		p1 = p1 + p2;		p2 = p1 - p2;		p1 = p1 - p2;	}	if(p1 <= p2)	{		temp1 = a >> (p1-1);               // 將這個數右移,使得所需要的位數是從最右端開始	}	for(i=(p2-p1);i>=0;i--)                     // 選取p1和p2之間的這段位數		putchar(((temp1 >> i) & 1) ? '0' : '1');          // 輸出這個數如果是1,則輸出0,實現取反	printf("/n");    return 0;}

2、輸入一個整數a,再輸入兩個整數p(p<32),v(0|1),將該整數a的p位設置為v,輸出修改后的該整數的二進制表示.

/*****************************************************copyright (C), 2016-2017, Lighting Studio. Co.,     Ltd. File name:Author:王    Version:0.1    Date: Description:Funcion List: *****************************************************/#include <stdio.h>#include <string.h>int main(){	int a,p,v,mask,i;	printf("Enter a number:");	scanf("%d",&a);	printf("Enter the location:");	scanf("%d",&p);	printf("choose 0 or 1:");	scanf("%d",&v);	if(v == 0)                          //判斷置0還是置1	{		mask = ~(1 << p-1);         // 設計掩碼,使得所需要置0的那一位為0 		a = (a & mask);             // 按位與 實現清零	}	else	{		mask = (1 << p-1);           // 需要置1的那一位保持為1,其余為0,使用按位或 實現置1		a = (a | mask);	}	printf("The answer is:");	for(i=sizeof(a);i>=0;i--)		printf("%d",(a>>i)&1);	printf("/n");    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵德县| 阳谷县| 泰和县| 禄劝| 乐至县| 海南省| 沙田区| 黔江区| 弥勒县| 康乐县| 民权县| 苍山县| 丹凤县| 客服| 全椒县| 门源| 西安市| 汉源县| 武汉市| 汪清县| 张掖市| 乐陵市| 酉阳| 洛南县| 海原县| 德州市| 合江县| 阿勒泰市| 洛浦县| 石棉县| 灌阳县| 淳化县| 新晃| 东兴市| 宁陕县| 平顶山市| 大关县| 绥滨县| 溆浦县| 保山市| 灵丘县|