c語言無符號整型的輸出C語言無符號整型的輸出

2021-03-09 05:00:27 字數 2753 閱讀 5129

1樓:匿名使用者

b.不過個人覺得這題沒答案才對。平台都沒說,怎麼會有準確答案呢?

vc6.0肯定不是這個答案,它的int是32位的。如果這題的int是16位的那麼就選b。

解釋:-1在記憶體中是以補碼形式儲存的。補碼的二進位制為:1111 1111 1111 1111

這個數按照無符號數輸出:也就是0xffff 也就是65535.

從視覺化的-1怎麼轉換到補碼形式:因為假設你的平台是16位的-1補碼 = 2^16 - |-1| = 1 0000 0000 0000 0000 - 1 = 1111 1111 1111 1111

2樓:匿名使用者

int型複製給unsigned型,自動轉換型別。但是-1不再unsigned的範圍中,所以直接底層複製。-1的原碼是1000 0000 0000 0001(tc。

vc和gcc是1000 0000 0000 0000 0000 0000 0000 0001),補碼是1111 1111 1111 1111(tc。vc和gcc是1111 1111 1111 1111 1111 1111 1111 1111)。這個數原樣複製給unsigned型,其十進位制值為65535(tc。

vc和gcc是4294967295)。

3樓:雪燦之光

這題我在vc6.0中嘗試了一下結果為:4294967295

其實這題要指定執行平台,不同平台有不同結果。

4樓:匿名使用者

16位系統中乙個int能存

儲的資料的範圍為-32768~32767,而unsigned能儲存的資料範圍則是0~65535。-1的十六進製制表示為:0xffff 與65535的16進製表示一致。所以結果為b

5樓:

unsigned int a是無符號整型,範圍從0~65535.

顯然b的值不在a的範圍內。溢位了。

6樓:匿名使用者

我覺得答案是c 你問問大師,,,,

7樓:匿名使用者

由所給答案可知計算機的整型變數為2位元組,

所以無符號a(unsigned int a)為2*8=16位因為輸出格式(%u)為無符號格式輸出

所以沒有符號位0-1不可能是負數,也可以理解為時0-1的下乙個數是最大值2^16-1=65535

答案:b

c語言中無符號長整型數的輸入輸出格式是什麼

8樓:小夏在深圳

以%開頭的都是輸出控制符。主要有%d、

%u、%ld、%p。

1、%d它的意思是按十進位制整型資料的實際長度輸出。

2、%u輸出無符號整型(unsigned)。輸出無符號整型時也可以用 %d,這時是將無符號轉換成有符號數,然後輸出。

3、%ld它的意思是輸出長整型資料。

4、%p 輸出變數的記憶體位址。

擴充套件資料

1、八進位制在c語言中,八進位制的輸出格式是 %o,八進位制是以0為開頭的數字,0後面的數字都要小於8,最大為7。

2、十六進製制十六進製制的輸出格式是 %x,十六進製制表示的數是0x12 ,這個0也是零。十六進製制有點特殊的地方是1-9是純數字,10-15是用a、b、c、d、e、f來表示的。

4、%d中的d並不表示integer,而是表示decimal(10進製)。

9樓:非常可愛

式%u。

示例:intmain()

擴充套件資料c語言printf()輸出格式

%p指標

%s字串

%%"%"

%a(%a)浮點數、十六進製制數字和p-(p-)記數法(c99)%c字元

%d有符號十進位制整數

%f浮點數(包括float和doulbe)%e(%e)浮點數指數輸出[e-(e-)記數法]%g(%g)浮點數不顯無意義的零"0"

%i有符號十進位制整數(與%d相同)

%o八進位制整數e.g.0123

%x(%x)十六進製制整數()e.g.0x1234

10樓:短短長長長短

以%開頭的都是輸出控制器。主要是%d、%u、%ld、%p。

1、%是指根據十進位制整數資料的實際長度輸出。

2、%u輸出無符號整數。也可以使用%d輸出無符號整數。在這種情況下,將無符號整數轉換為有符號數,然後輸出。

3、%ld表示輸出長整型資料。

4、%輸出變數的記憶體位址。

11樓:

輸入輸出標準格式是 %lu

數值範圍不大時,輸入輸出也可用 %d %x %u %ld %lx 格式。

unsigned long ula = 0x70000000; // 數值範圍不大

unsigned long ulb = 0x80000000; // 數值範圍大

unsigned long ulc = 3;

printf("%lu 0x%x %ld\n",ula,ula,ula);

printf("%lu 0x%x %ld\n",ulb,ulb,ulb);

printf("%lu 0x%x %ld\n",ulc,ulc,ulc);

試試:unsigned long uld;

scanf("%u",&uld);

scanf("%d",&uld);

scanf("%ld",&uld);

scanf("%x",&uld);

就明白了。

c語言無符號整數怎麼定義,c語言中定義無符號整型變數有什麼作用

需要準備的bai 材料分別有du 電腦 c語言編譯器。1 首先,zhi 開啟daoc語言編譯器,版新建乙個初始.cpp檔案,例如 權test.cpp。2 在test.cpp檔案中,輸入c語言 unsigned int a 1024 printf u a 3 編譯器執行test.cpp檔案,此時成功定...

負數為什麼能用無符號整型表示,關於在C語言中無符號整形儲存負數問題

把0到4294967295按順序排列成乙個 環形 則0兩邊的數就是1和4294967295,如果無符號整型版 在使用中沒有超出範圍,那麼權結果都是正確的,如果超出了範圍,程式也會給出乙個結果但這個結果是錯誤的,錯誤的結果也是有規律的,比如說,無符號整型所表示的最小的數是0,如果在使用中出現了 1,那...

C語言裡面無符號數怎麼理解,c語言無符號整數怎麼定義

你可以把它理解為非負數,一般情況情況下的數有正數和負數之分的,就是所謂的有符號,而無符號數,只有正數,就像絕對值一樣,例如正常情況下,int 型別的數占用兩個位元組的記憶體,也就是16位,也就是所有的數中,有2的8次方個是負數,0佔乙個,2的7次方減1個是正數 但是在無符號的情況下,2的16次方個數...