❶ c語言里的八進制跟十六進制有負數嗎
示的整數,我們都知道整數是可以是正數或負數的,所以這樣表示沒有問題。
不論是二進制、八進制、十進制、十六進制甚至是三十二進制還是多少多少進制,都只是一種數值的表示方法而已,它們歸根結底表示的都是整數,理解了這一點就好了。
----------------------
對補充信息的回答:
我說過,這些只是不同進制對整數的表示方法。八進制、十六進制同樣可以表示負數。比如你舉的例子,-1這個值,十六進製表示為0xFFFFFFFF。這裡面第一位數(就是0x後面的第一個F),它的二進制值是1111,這4個1的第一位1就是符號位,為0表示整個數為正值,為1表示整個數為復制。
也就是說,0x8-0xf開頭的十六進制數就是負數。
八進制類似。
再說一句,計算機程序中,我們平時的正負號(+和-)是為了描述十進制數使用的,其他進制有自己的正負值表示方法,並不使用正負號。
❷ 在C語言中為什麼這個值是負1而不是1
後置自減,先使用值再自減。
當x=1時,先判斷while為真,然後x自減等於0,循環繼續。
當x=0時,先判斷while為假,然後x還要自減等於-1,然後退出循環。
所以,最後x等於-1。
❸ C語言字元輸出負數
一個佔位符 -1用%c輸出相對於0xff
有的編譯器輸出一個亂碼字元 有的不輸出 有的是佔位符
❹ c語言中if(x大於負一)怎麼表示
在c語言中,「如果x大於-1,就怎麼怎麼辦」,用編程語句寫出來就是: if(x>-1){……}; 其中的……代表要執行的語句。
❺ c語言,大括弧那裡,負1怎麼來的
因為,255,就是 -1 的補碼。-1 是真值。
[-1]補 = 1111 1111B = 255。
你寫上 254,就會輸出 -2,
因為,254,就是 -2 的補碼。-2 是真值。
你寫上 253,就會輸出 -3,
因為,253,就是 -3 的補碼。
。。。。。。
你可以實驗一下,其它數字。
對於 char 變數,你輸入任何數字,都是當作補碼存入的,
輸出時,就都是真值。
如果補碼,還沒有弄明白,理解這個,比較吃力。
❻ C語言 !(一個負數)等於啥
可以,但是結果會出錯,負數在計算機中最高位為1,作為符號標志(正數為0),但是如果賦給無符號整型變數,最高位的標志位就會變成數值位,計算時把這個1當成數值。
❼ 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語言中怎麼表示負數。
第一位符號位1為負,0為正。
正數的補碼和2進制原碼是一樣的。
負數的補碼:
1、先取絕對值|x|
;
2、對|X|+1
;
3、對|X|+1
取反,就得到它的補碼了
。
計算機中存放整型數據都是按補碼的形式存放的。
(8)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語言中負數表示方法就是在數前加負號「-」,比如:
-5,-10000,等
一個變數賦值為負數也是如此,比如:
x=-1000;
❿ C語言中是直接輸入負數的嗎
是的,可以直接輸入負數。
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
簡介
C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%-20%。因此,C語言可以編寫系統軟體。
當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。同時,C語言的普適較強,在許多計算機操作系統中都能夠得到適用,且效率顯著。