编程实现以二进制形式系那是无符号整数

来源:互联网 发布:教育培训行业数据分析 编辑:程序博客网 时间:2024/06/16 00:01

%u 表示无符号

按位与运算符通常与一个称“屏蔽字”(mask)的操作数一起使用,当屏蔽字某位设置为1时,用来选择某位,如为0,则用来隐藏某位,设字长为n位,下面的程序中,DisplayMask设置为1<<(n-1),左移运算符将displayMask的最左位置为1,其他位置为0,这样语句:

putchar(value&displayMask?'1':'0');

可显式value的最高位,要显示次高位,可做运算displayMask>>1使displayMask的次高位为1,其他各位为0,再执行语句

putchar(value&displayMask?'1':'0');

可显示value的次高位,按同样的道理可显示其他各位

#include <stdio.h>#include <stdlib.h>#include <ctype.h>void DisplayBits(unsigned value);int main(void){unsigned value;char select;do{printf("\n输入无符号数");scanf("%u",&value);printf("二进制显示:"); DisplayBits(value);printf("\n是否继续(Y/N))");do{select=getchar();select=tolower(select);}while(select!='y'&&select!='n');}while(select=='y');system("PAUSE");return 0;}void DisplayBits(unsigned value){unsigned displayMask;unsigned n;int i;n=sizeof(unsigned)*8;displayMask=1<<(n-1);for(i=0;i<n;i++){putchar(value&displayMask?'1':'0');displayMask=displayMask>>1;}system("PAUSE");} 



%u 表示无符号

按位与运算符通常与一个称屏蔽字mask)的操作数一起使用,当屏蔽字某位设置为 1时,用来选择某位,如为0,则用来隐藏某位,设字长为n位,下面的程序中,DisplayMask设置为1<<n-1),左移运算符将 displayMask的最左位置为1,其他位置为0,这样语句:

putchar(value&displayMask?'1':'0');

可显式value的最高位,要显示次高位,可做运算displayMask>>1使displayMask的次高位为1,其他各位为0,再执行语句

putchar(value&displayMask?'1':'0');

可显示value的次高位,按同样的道理可显示其他各位

注意:1&符号不是&&符号

2是移动位置要赋值


0 0
原创粉丝点击