㈠ 在c語言中怎麼表示負數。
第一位符號位1為負,0為正。 正數的補碼和2進制原碼是一樣的。
負數的補碼:
1、先取絕對值|x| ;
2、對|X|+1 ;
3、對|X|+1 取反,就得到它的補碼了 。
計算機中存放整型數據都是按補碼的形式存放的。
(1)c語言怎麼表示結果負數擴展閱讀:
有符號數的表示方法是由硬體決定,而不是由C決定的。有三種表示方法:
1、二進制原碼
0000 0001 表示 1
1000 0001 表示 -1
這個方法有個缺點是有兩個零: +0 和 -0。這會引起混淆,而且用兩個位組合來表示一個值也有些浪費。
2、二進制補碼(最普遍的系統)
區別在於 singned 和 unsigned:
1)如果是無符號位元組, 1000 0000 該組合為 128
2)如果是有符號位元組, 1000 0000 該組合為 -128
第一種表示數的范圍是 0 ~ 255;
第二種表示數的范圍是 -128 ~ +127,對於一個二進制補碼數取負數,最簡單的方法就是取反、加 1。
3、二進制反碼
通過反轉位組合中的每一位以形成一個數的負數,例如:
0000 0001 表示 1
1111 1110 表示 -1
這種方式也有一個 -0:1111 1111。其范圍是 -127 ~ +127。
㈡ c浯言可以輸出負數嗎
c語言可以輸出負數的。
intx=2-30;
printf("%d ",x);
㈢ C語言中怎麼輸出一個負16進制的數
負數用十六進製表示,通常用的是補碼的方式表示。
int
a=-3;
在C語言中可以這么輸出:printf("%hhx\n",
a);
十六進制(英文名稱:Hexadecimal),是計算機中數據的一種表示方法。同我們日常生活中的表示法不一樣。它由0-9,A-F組成,字母不區分大小寫。與10進制的對應關系是:0-9對應0-9;A-F對應10-15;N進制的數可以用0~(N-1)的數表示,超過9的用字母A-F。
正數的補是它本身;負數的補碼是它本身的值每位求反,最後再加一。
例如:求-3的十六進制
3的十六進制為0003,3求反之後是C,再加1,成D,所以-3的十六進制就是:FFFD
㈣ C語言大神謝謝。。。。。 1、計算機里怎麼表示負數,為什麼這樣表示 2.、在char類型里為什麼-128最小,
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
㈤ 如何用C編程語言輸出負數
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
㈥ C語言如何表示正負值問題
c語言有兩種數據類型,一種是整型,一種是浮點型 ,整型類型一般用的原碼表示,浮點類型一般用的IEEE754標准進行編碼。
整型數中原碼表示正負數,取最高位為符號位,以8位二進制數來表示1和-1。1的二進制為
0 000 0001 //最高位為符號位,0表示正數,1表示負數
1 000 0001 //這個表示-1
IEEE754浮點數編碼,使用的格式類似於 (-1)^s * M* 2^E,其中s是符號位,M是有效位數,E指的是指數,s符號位佔1位,如果是0,則(-1)的0次方為1,表示是一個正數,如果s位是-1,則表示是一個負數。
㈦ c語言中負數如何表示
寫成10進制 可以直接加負號
寫成16進制 最高位為1即可。
負數表示為補碼, 最高位為符號位 為1
其它位為原碼按位取反加一。