1樓:陌上花開
值|第一位符號位1為負,0為正。 正數的補碼和2進位制原碼是一樣的。
負數的補碼:
1、先取絕對值|x| ;
2、對|x|+1 ;
3、對|x|+1 取反,就得到它的補碼了 。
計算機中存放整型資料都是按補碼的形式存放的。
擴充套件資料:有符號數的表示方法是由硬體決定,而不是由c決定的。有三種表示方法:
1、二進位制原碼
0000 0001 表示 1
1000 0001 表示 -1
這個方法有個缺點是有兩個零: +0 和 -0。這會引起混淆,而且用兩個位組合來表示一個值也有些浪費。
2、二進位制補碼(最普遍的系統)
區別在於 singned 和 unsigned:
1)如果是無符號位元組, 1000 0000 該組合為 1282)如果是有符號位元組, 1000 0000 該組合為 -128第一種表示數的範圍是 0 ~ 255;
第二種表示數的範圍是 -128 ~ +127,對於一個二進位制補碼數取負數,最簡單的方法就是取反、加 1。
3、二進位制反碼
通過反轉位組合中的每一位以形成一個數的負數,例如:
0000 0001 表示 1
1111 1110 表示 -1
這種方式也有一個 -0:1111 1111。其範圍是 -127 ~ +127。
2樓:兮汐
1.負數在現代計算機裡一般用補碼錶示,為什麼呢?原因是:保證0的左右不矛盾
1是0001,推算出0是0000;
-1的是1111,推算出0也是0000。
如果直接用反碼(0變成1,1變成0)那麼0就會有兩個結果。
如果用第一位表示符號,後三位表示大小,那麼就有空間浪費。
2.char型別是8位,1000 0000還原為原碼:
最高位是1,表示負數,剩餘的各位取反 111 1111 再+1 得到 1000 0000, +128的原碼,整個數為-128
求採納為滿意回答。
3樓:
就直接寫啊,
舉個例子啊:
int a = 19;
int b = 0-a; 這裡b就是負數了,0-19就是 -19了。
4樓:
直接在變數b前面加-(負號)即可。
設b=5
那麼int a=-b 此時a=-5
再比如設b=-5
int a=-b 此a=5 因為它相當於int a=-(-5) 即負負得正。
5樓:d靈心
定義有符號變數 在賦值的時候前面加一個負號就行
6樓:溫暖流過時光
資料型別是有符號型別,負數就和數學裡的負數一樣。int 的取值範圍是-32768~32767,只要不越界就行
7樓:w水木清華
定義該數為浮點型,並在前面加符號即可!
8樓:匿名使用者
#include
#include
int main(void)
-b 直接寫成這樣就是了。
9樓:匿名使用者
直接乘-1就可以。b*(-1)
c語言中怎麼表示除法,C語言中怎麼表示除法
5處以2這樣寫 5 2結果是取整數的也就是等於2 是除法取餘數好好看看數吧 c語言中除號用 表示,相應的,乘號用 表示 a b 表示a除以b,但是需要注意,當a b均為整形時,運算為求出不大於商的最大整數,如10 7 1,5 2 2,13 4 3 相對應,a b表示求a除以b的餘數 如果要實數除法,...
在c語言中怎樣表示數的n次方在C語言中怎樣表示一個數的n次方
c語言中計算一個數的n次方可以用庫函式pow來實現。函式原型 double pow double x,double y 舉例如下 double a pow 3.14,2 計算3.14的平方。注 使用pow函式時,需要將標頭檔案 include包含進原始檔中。拓展資料 次方運算是數 算,我們可能在其他...
c語言階乘怎麼表示,C語言中的「階乘」怎麼表示?
this program can calculate the factorial of int n include int factorial int n int main void 擴充套件資料 階乘是定義在自然數範圍裡的 大多科學計算 器只能計算 0 69 的階內乘 小數科學計算器沒容有階乘功能...