c語言二進(jìn)制格式輸出 C語言中如何取八位二進(jìn)制數(shù)的每一位?
C語言中如何取八位二進(jìn)制數(shù)的每一位?位運(yùn)算,如a=0101&0001a是最后一位,然后向右移動(dòng)0101,我可以繼續(xù)取下一位上次我犯了錯(cuò)誤。。二進(jìn)制是0,1是基本運(yùn)算符;計(jì)算機(jī)操作是基于二進(jìn)制的。沒有定
C語言中如何取八位二進(jìn)制數(shù)的每一位?
位運(yùn)算,如a=0101&0001
a是最后一位,然后向右移動(dòng)0101,我可以繼續(xù)取下一位
上次我犯了錯(cuò)誤。。二進(jìn)制是0,1是基本運(yùn)算符;計(jì)算機(jī)操作是基于二進(jìn)制的。沒有定義。如果十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),main(){int i,bit unsigned int n,mask mask=0x8000//最高位為1,其余位為0 printf(“enter you number:”)、scanf(%d”、&n)printf(“binary of%d is:”,n)for(i=0I<16i){bit=(mask&;n)?1:0 printf(“”,bit)if(I==7)printf(“-”)mask=mask>>1//向右移動(dòng)一位,得到下一個(gè)屏蔽字}
C語言中沒有“二進(jìn)制數(shù)”類型,因此不能直接定義;但可以直接定義為十六進(jìn)制數(shù)。
示例:
int main(){
int a]]scanf(%P“,&A)//十六進(jìn)制數(shù)輸入%P是輸入十六進(jìn)制數(shù)。Scanf(%LLX“,&A)還可以輸入十六進(jìn)制并且更正常
printf(%d”,a)//十進(jìn)制輸出%d是輸出一個(gè)十進(jìn)制數(shù)
printf(%x”,a)//十六進(jìn)制輸出printf(%LLXn“,a)還可以輸出一個(gè)十六進(jìn)制數(shù)。如果紅色部分大寫,則輸出十六進(jìn)制數(shù)基數(shù)為大寫字母,否則小寫x輸出為小寫字母
}