c++和c語(yǔ)言先學(xué)哪個(gè)好 C語(yǔ)言中的位運(yùn)算符是怎么取反的?
C語(yǔ)言中的位運(yùn)算符是怎么取反的?A是整數(shù)類(lèi)型,通常占4個(gè)字節(jié)2的原始代碼:0000 0000 0010求反:1111 1111 1111 1111 1111 1111 1111 1111 1111 1
C語(yǔ)言中的位運(yùn)算符是怎么取反的?
A是整數(shù)類(lèi)型,通常占4個(gè)字節(jié)
2的原始代碼:0000 0000 0010
求反:1111 1111 1111 1111 1111 1111 1111 1111 1111 1101
最高的位是1,所以它是一個(gè)負(fù)數(shù)。方法是
再次求反并加1(符號(hào)位不變)
求反: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語(yǔ)言如何計(jì)算一個(gè)數(shù)字的位數(shù):
輸入要計(jì)算的數(shù)字x
定義一個(gè)變量int n=0
循環(huán),x每次減少10次,n=n1,最后x變成0,循環(huán)結(jié)束
輸出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)
}