C語言之unsigned int和int的運算

2021-06-19 11:55:56 字數 697 閱讀 9398

首先先說明下:

1)數值在計算機中是以補碼的形式儲存的。同時如果兩個補碼相加時,最高位也就是我們的符號位如果有進製,是需要丟棄的。正數的補碼是自己本身,

負數的補碼是符號位為1,其餘位為該數絕對值的原碼按位取反,然後整個數再加1.

2)如果乙個運算子兩邊的運算數型別不同,先要將其轉換為相同的型別,即較低型別轉換為較高型別,然後再參加運算,轉換規則如下圖所示。

double ←── float 高

↑long

↑unsigned

↑int ←── char,short 低

ok現在開始看幾個例子:

例1:int a=6;

unsigned int b=-20;

unsigned int c = a+b;

c是多少?

a:0x00 00 00 06

b:0xff ff ff ec   (0x00 00 00 14->取反0x ff ff ff eb->加1 0x ff ff ff ec)

c 的值為:0x ff ff ff f2 

例2:int a = -6;

unsigned int b = 20;

unsigned int c = a+b;

c是多少

a: 0x ff ff ff fa

b:0x 00 00 00 14

c=0x00 00 00 0e;

C語言 C語言之continue

c語言迴圈 c 語言中的continue語句有點像break語句。但它不是跳出該迴圈語句,continue是跳過本次迴圈直接開始下一次迴圈的。在for迴圈裡,continue會跳過本次迴圈,但是自增語句仍然會執行,而在while和do while語句裡嘖是跳過迴圈重新執行判斷語句 課堂作業內容為 輸...

C語言之指標

指標型別的本質分析 1 指標的本質 指標的本質 一種復合的資料型別。下面我將以下面幾個作為例子進行展開分析 a int p b int p c int parvalue 3 d int pfun 分析 所謂的資料型別就是具有某種資料特徵的東東,比如資料型別char,它的資料特徵就是它所佔據的記憶體為...

C語言之陣列

c語言之陣列 一,一維陣列 1,一維陣列的定義 型別符 陣列名 常量表示式 注 1 常量表示式中可以包括常量和符號常量.int a 3 5 是合法的,int a n 是不合法的,c語言不允許對陣列的大小作動態定義 2 如果在被呼叫的函式 不包括主函式 中定義陣列,起長度可以是變數或非常量表示式,可稱...