c語言中, 0x5b這種表達方式對嗎?也就是說16進位制的整型

2021-05-23 22:30:38 字數 5135 閱讀 4184

1樓:匿名使用者

沒有任何問題。

0x5b只是16進位制方式表示的整數,我們都知道整數是可以是正數或負數的,所以這樣表示沒有問題。

不論是二進位制、八進位制、十進位制、十六進位制甚至是三十二進位制還是多少多少進位制,都只是一種數值的表示方法而已,它們歸根結底表示的都是整數,理解了這一點就好了。

----------------------

對補充資訊的回答:

我說過,這些只是不同進位制對整數的表示方法。八進位制、十六進位制同樣可以表示負數。比如你舉的例子,-1這個值,十六進位制表示為0xffffffff。

這裡面第一位數(就是0x後面的第一個f),它的二進位制值是1111,這4個1的第一位1就是符號位,為0表示整個數為正值,為1表示整個數為複製。

也就是說,0x8-0xf開頭的十六進位制數就是負數。

八進位制類似。

再說一句,計算機程式中,我們平時的正負號(+和-)是為了描述十進位制數使用的,其他進位制有自己的正負值表示方法,並不使用正負號。

2樓:匿名使用者

近來自學c語言 今天在進行十進位制轉換為八進位制和十六進位制時也發現了這個問題 一個負的十進位制求補後的符號位也轉化八進位制或十六進位制數裡面 也在疑惑c語言中 是不是不能輸出帶符號的八進位制和十六進位制數

3樓:匿名使用者

八進位制和十六進位制的都沒有!

c語言中16進位制在整型常量中表示用0x還是0x?

4樓:匿名使用者

在c語言中16進位制常量可以使用0x也可以使用0x如果使用0x的方式,那麼在超過9的表示方式需要使用a~f如果使用0x的方式,那麼在超過9的表示方式需要使用a~f同樣,在輸出方式中%x表示採用小寫輸出,%x採用大寫輸出

5樓:我的賬號很強大

2者都行,c裡16進位制數的寫法,不區分大小寫的,個人覺得小寫的看著比較舒服一些。

6樓:匿名使用者

用的是第一個ox

如0x10表示十六進位制數10,即用十進位制表示是16

希望可以幫到你

7樓:匿名使用者

x輸出十六進位制數的a~f時消協輸出。x則以大寫字母輸出

c語言,十六進位制數0x,0x開頭都對嗎?

8樓:

是的,其中的x是大寫還是小寫都無所謂的

不過要注意:必須是整型常量才是0x(或0x)開頭如果是字元常量,應是\x開頭,如'\x41'就是表示大寫'a'

用十六進位制表示整數和字元這兩者的不同,需要注意區別

請問十六進位制中有0x就代表是十六進位制,沒有0x就代表是十進位制對嗎?

9樓:明月照溝渠

對的。以0x開始的資料表示16進位制,計算機中每位的權為16,即(16進位制)10 = (10進位制)1×16。沒有0x就代表是十進位制

八進位制整常數八進位制整常數必須以0開頭,即以0作為八進位制數的字首。數碼取值為0~7。八進位制數通常是無符號數。

十進位制整常數沒有字首。其數碼為0~9。

十六進位制整常數的字首為0x或0x。逢16進1的進位制。一般用數字0到9和字母a到f(或a~f)表示,其中:a~f表示10~15,這些稱作十六進位制數字。

擴充套件資料

整型常量

1,八進位制整常數八進位制整常數必須以0開頭,即以0作為八進位制數的字首。數碼取值為0~7。八進位制數通常是無符號數。

以下各數是合法的八進位制數:

015(十進位制為13) 0101(十進位制為65) 0177777(十進位制為65535)

以下各數不是合法的八進位制數:

256(無字首0) 03a2(包含了非八進位制數碼) -0127(出現了負號)

2,十六進位制整常數

十六進位制整常數的字首為0x或0x。其數碼取值為0~9,a~f或a~f。

以下各數是合法的十六進位制整常數:

0x2a(十進位制為42) 0xa0 (十進位制為160) 0xffff (十進位制為65535)

以下各數不是合法的十六進位制整常數:

5a (無字首0x) 0x3h (含有非十六進位制數碼)

3,十進位制整常數

十進位制整常數沒有字首。其數碼為0~9。

以下各數是合法的十進位制整常數:

237 -568 65535 1627

以下各數不是合法的十進位制整常數:

023 (不能有前導0) 23d (含有非十進位制數碼)

10樓:麻友茄子

對的。十六進位制中有0x就代表是十六進位制,沒有0x就代表是十進位制。

以0x開始的資料表示16進位制,計算機中每位的權為16,即(16進位制)10 = (10進位制)1×16。

十六進位制整常數的字首為0x或0x。其數碼取值為0~9,a~f或a~f。合法的十六進位制整常數有:

0x2a(十進位制為42) 0xa0 (十進位制為160) 0xffff (十進位制為65535)。

十進位制整常數沒有字首。其數碼為0~9。合法的十進位制整常數有:237 -568 65535 1627

世界通用的十進位制,即1.滿十進一,滿二十進二,以此類推……2.按權,第一位權為10^0,第二位10^1……以此類推,第n位10^(n-1),該數的數值等於每位位的數值*該位對應的權值之和。

11樓:你不愛吃烤肉

十六進位制中有0x就代表是十六進位制,沒有0x就代表是十進位制這句話是對的。

整型常量

1,八進位制整常數八進位制整常數必須以0開頭,即以0作為八進位制數的字首。數碼取值為0~7。八進位制數通常是無符號數。

以下各數是合法的八進位制數:

015(十進位制為13) 0101(十進位制為65) 0177777(十進位制為65535)

以下各數不是合法的八進位制數:

256(無字首0) 03a2(包含了非八進位制數碼) -0127(出現了負號)

2,十六進位制整常數

十六進位制整常數的字首為0x或0x。其數碼取值為0~9,a~f或a~f。

以下各數是合法的十六進位制整常數:

0x2a(十進位制為42) 0xa0 (十進位制為160) 0xffff (十進位制為65535)

以下各數不是合法的十六進位制整常數:

5a (無字首0x) 0x3h (含有非十六進位制數碼)

3,十進位制整常數

十進位制整常數沒有字首。其數碼為0~9。

以下各數是合法的十進位制整常數:

237 -568 65535 1627

以下各數不是合法的十進位制整常數:

023 (不能有前導0) 23d (含有非十進位制數碼)

擴充套件資料:

計算機中常用的進位制:

二進位制,八進位制,十六進位制。

進位制,數字,進位方法:

十進位制 0、1、2、3、4、5、6、7、8、9 逢十進一

二進位制 0、1 逢二進一

八進位制 0、1、2、3、4、5、6、7 逢八進一

十六進位制 0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f 逢十六進一

程式設計中,我們常用的還是10進位制。

比如:int a = 100,b = 99;

不過,由於資料在計算機中的表示,最終以二進位制的形式存在,所以有時候使用二進位制,可以更直觀地解決問題。

但,二進位制數太長了。比如int型別佔用4個位元組,32位。比如100,用int型別的二進位制數表達將是:

0000 0000 0000 0000 0000 0000 0110 0100

12樓:樓林獵人

抄襲一下別人的答案:

整型常量

1.八進位制整常數八進位制整常數必須以0開頭,即以0作為八進位制數的字首。數碼取值為0~7。八進位制數通常是無符號數。

以下各數是合法的八進位制數:

015(十進位制為13) 0101(十進位制為65) 0177777(十進位制為65535)

以下各數不是合法的八進位制數:

256(無字首0) 03a2(包含了非八進位制數碼) -0127(出現了負號)

2.十六進位制整常數

十六進位制整常數的字首為0x或0x。其數碼取值為0~9,a~f或a~f。

以下各數是合法的十六進位制整常數:

0x2a(十進位制為42) 0xa0 (十進位制為160) 0xffff (十進位制為65535)

以下各數不是合法的十六進位制整常數:

5a (無字首0x) 0x3h (含有非十六進位制數碼)

3.十進位制整常數

十進位制整常數沒有字首。其數碼為0~9。

以下各數是合法的十進位制整常數:

237 -568 65535 1627

以下各數不是合法的十進位制整常數:

023 (不能有前導0) 23d (含有非十進位制數碼)

c語言中以%x開頭的為十六進位制整數對嗎,怎麼理解

13樓:金色潛鳥

以 0x 或 0x 開頭的數 為十六進位制整數.

例如:int red= 0xff, green=0x80, blue=0xaa;

0xff, 0x80, 0xaa 都是 十六進位制整數。

%x -- 是 輸出/輸入語句裡的格式定義。

例如:int y;

scanf("%x",&y); // 以16進位制形式輸入 整型printf("%x %d",y,y); // %x -- 以16進位制形式輸出y, %d -- 再以10進位制形式輸出y。

輸入 若鍵盤 拍入 0x123 或 123 都可以,都表示 是 16進位制。

輸出:123 291

14樓:匿名使用者

%x是在printf或scanf(或是其衍生的fprintf或fscanf)用來做格式控制符的,表示以16進位制無符號數的形式顯示對應的表列裡的整數

15樓:匿名使用者

以0x或0x開頭的數是16進位制數,以0(數值0)開頭的是8進位制數。

%x是指在輸入/輸出資料時的格式,比如scanf("%x",&a);,以16進位制格式讀入資料(這裡不需要0x或0x開頭)。printf("%0x",a);,把整數a轉換為16進位制格式顯示在螢幕上。

16樓:小馬

對!確定

x 表示引數型別為int,輸出格式為十六進位制整數(不帶字首0x或0x)

printf("%x",n);

c語言中x0是什麼意思,C語言中x0是什麼意思

x 0在c 語言裡是表示x不等於0的意思,和數學表達上有一點不一樣,還比如x 2,表示把x和2做比較是否相等。判斷x是否等於o,當它等於0時,返回1.當它不等於0時,返回0.粗看1到。感覺是觸發風怒了。以上 c語言中x 0是什麼意思 判斷變數x的值是否為0 如果是 那麼這個式子的邏輯值為1 或者真 ...

c語言中x的初始值是0b01111010,執行了x 0x20之後x是多少?x 0x20是什麼意思

x 0x20 吧?x 0x20 即 x x 0x20 0b01111010 0b00100000 0b01111010 運算子 是 或 運算子,0 0 0,0 1 1,1 0 1,1 1 1,c語言中沒有 這個運算子號。是不是筆誤?是不是 如果是的話,那麼答案是 x的值不變。因為0x20就等於0b0...

c語言中x是什麼意思c語言中x0是什麼意思

x是16進位制輸出 8x是輸出8位 x是帶格式輸出,效果為在輸出前加0x.所以 這裡就是以16進位制輸出y值,並在前面加0x字首,如果輸出小於8位,那麼實際輸出8位,左側補空格.比如 y 0x20那麼會輸出 y 0x20 如果y 0x12345678 那麼會輸出 y 0x12345678 x a等價...