c語言二進制格式輸出 C語言中如何取八位二進制數(shù)的每一位?
C語言中如何取八位二進制數(shù)的每一位?位運算,如a=0101&0001a是最后一位,然后向右移動0101,我可以繼續(xù)取下一位上次我犯了錯誤。。二進制是0,1是基本運算符;計算機操作是基于二進制的。沒有定
C語言中如何取八位二進制數(shù)的每一位?
位運算,如a=0101&0001
a是最后一位,然后向右移動0101,我可以繼續(xù)取下一位
上次我犯了錯誤。。二進制是0,1是基本運算符;計算機操作是基于二進制的。沒有定義。如果十進制數(shù)轉(zhuǎ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//向右移動一位,得到下一個屏蔽字}
C語言中沒有“二進制數(shù)”類型,因此不能直接定義;但可以直接定義為十六進制數(shù)。
示例:
int main(){
int a]]scanf(%P“,&A)//十六進制數(shù)輸入%P是輸入十六進制數(shù)。Scanf(%LLX“,&A)還可以輸入十六進制并且更正常
printf(%d”,a)//十進制輸出%d是輸出一個十進制數(shù)
printf(%x”,a)//十六進制輸出printf(%LLXn“,a)還可以輸出一個十六進制數(shù)。如果紅色部分大寫,則輸出十六進制數(shù)基數(shù)為大寫字母,否則小寫x輸出為小寫字母
}