c++和c語言先學哪個好 C語言中的位運算符是怎么取反的?
C語言中的位運算符是怎么取反的?A是整數(shù)類型,通常占4個字節(jié)2的原始代碼:0000 0000 0010求反:1111 1111 1111 1111 1111 1111 1111 1111 1111 1
C語言中的位運算符是怎么取反的?
A是整數(shù)類型,通常占4個字節(jié)
2的原始代碼:0000 0000 0010
求反:1111 1111 1111 1111 1111 1111 1111 1111 1111 1101
最高的位是1,所以它是一個負數(shù)。方法是
再次求反并加1(符號位不變)
求反:1000 0000 00010
加1 1000 0000 0000 0000 0000 0000 0000 0000 0000 00000000 0000 0000 0000 0000 0000 0000 0000 0000[0011
所以它是-3
C語言如何計算一個數(shù)字的位數(shù):
輸入要計算的數(shù)字x
定義一個變量int n=0
循環(huán),x每次減少10次,n=n1,最后x變成0,循環(huán)結束
輸出n值
代碼:
#include<stdio。H>
void main()
{
]int x,m,n=0
printf(“input x:”)scanf(%d,&x)
m=x//備份原始數(shù)字以輸出
do{
n
x/=10
}while(x>0)
printf(%d是%d位n”,m,n)
}