c 中何為無符號,何為有符號,C 中什麼叫有符號型別的無符號版本?

2022-12-16 06:30:19 字數 1969 閱讀 2073

1樓:雲林之盟

無符號型 是指該變數的值只能是正數,即「大於等於」0.

有符號型 是指其值 可以是 整數,負數,0.

一般來說,對於同一型別的 無符號 表示的最大值 是 有符號表示最大值的2倍。

2樓:匿名使用者

我也剛學c語言呢---先不要著急,c語言和c++這個有符號無符號都是一樣的.有符號和無符號簡單的說就是有符號的可以表示負數,而無符號沒有負數只有正數.而且無符號型別可表示的整數範圍是有符號型別的兩倍.

如short 可表示範圍為-32768-32767,而 unsigned short可表示範圍為0-65535.

具體原因是因為電腦的儲存方式表示的,電腦裡無論什麼東東其實都是0和1表示的.而且有位數的限制,不同型別所佔的位數是不一樣的,這個在很多c語言入門教程都有的.如果有興趣,建議你還是找些相關資料仔細看看吧.

有符號型只是把無符號型表示符號的那個位置騰出來以存放更多的正整數而已---當然,前提是確定此處不需要也不會產生負數.

c++中什麼叫有符號型別的無符號版本?

3樓:洪修潔

vs2013編譯器,全面支援c++11。

typeid操作符能確定表示式的型別。

int和int屬於同級別的型別,不像int和double運算時會轉成double。

為什麼叫有符號的無符號版本,因為預設都是有符號的,int a;a就是有符號的,如果你的a確實不用負數或者要用到比較大的正整數,這個時候你需要用到int的無符號版本,加一個限定unsigned,宣告這是int的無符號版本

在c++中把有符號的轉變為無符號的,怎麼轉,會出錯嗎?

4樓:wsn石家莊業餘球王

強制轉換型別就可以,如果有符號的是負的,轉換後和原來的就不一樣了。是正的就沒事了

5樓:黯閣梧桐一葉

char a;

unsigned char b = (unsigned char) a & 0xff;

c++中帶符號數int(佔32位)= -42,轉化為無符號數,為什麼是4294967254

6樓:匿名使用者

在c++中,常數-42是在計算機內部以補碼形式表示。-42的32位補碼為0xffffffd6,對應的十進位制數為4294967254

7樓:匿名使用者

-42的16進位制是ffffffd6

ffffffd6不就是4294967254

c++程式設計這句話是什麼意思? 上述結果中,無符號短整數 50,000 的位模式被解釋為有符號短整數

8樓:匿名使用者

16 位整數(短整數)的情況下,十進位制 50000 就是二進位制 11000011 01010000

但在有符號的情況下,二進位制最左邊的 1,代表這整個數字是負數

但是電腦是以補碼形式來表示數字的,要獲得原本的數字,首先要把整個二進位制數 - 1

1100001101010000 - 1 = ‭1100001101001111‬

然後,在把答案取反碼

not ‭1100001101001111‬ = ‭0011110010110000‬

把最終答案變成十進位制,就是 15536

所以,一開始的二進位制數 11000011 01010000,在有符號的情況下代表的就是 -15536

在c++中好像unsigned是無符號,那有符號怎麼辦呢?

9樓:夜歸仁

有符號:signed.

10樓:

什麼都不加,預設的就是帶符號的

11樓:光明

預設情況下就是有符號的,例如 int 就是 signed int的簡寫

C中符號什麼意思,舉例子,C中符號什麼意思,舉一個例子

比如a b 他實際上是a a b的縮寫,意思和a a b是一樣的,相似的還有 等,很多都可以這麼用 在c 中,是一個複合運算子,意思是先算加法,再賦值。例如a b相當於a a b,即把a b的值再賦值給a a b 等同於a a b c 中 符號連用是什麼意思 引用是c 引入的新語言特性,是c 常用的...

C中給無符號型別賦了個負值的後果

在記憶體長度上沒有溢位的情況下,比如u和u2都是4個位元組,以及有符號整數也是4個位元組,這時候將原資料按照位模式逐位拷貝到目的變數。比如例子中的 32,在記憶體裡這個數的十六進位制表示為 0xffffffe0。將這個十六進位制數逐位拷貝到一個無符號整數變數的記憶體空間後,列印出來就是你看到的結果。...

c程式中,符號是什麼意思C程式中,一個符號是什麼意思?

1.按位與 運算子.按位與運 算符 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 否則為0。參與運算的數以補碼方式出現。例如 9 5可寫算式如下 00001001 9的二進位制補碼 00000101 5的二進位制補碼 00000001 1的二進位...