freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

c程序設計位運算ppt課件-資料下載頁

2025-10-10 04:38本頁面
  

【正文】 例如: struct packeddata {unsigned a∶ 2; unsigned b∶ 6; unsigned c∶ 4; unsigned d∶ 4; int i; }data; ? 見圖 。其中 a、 b、 c、 d分別占 2位、 6位、 4位、4位。 i為整型。共占 4個字節(jié)。 圖 ? 也可以使各個位段不恰好占滿一個字節(jié)。如: struct packeddata {unsigned a∶ 2; unsigned b∶ 3; unsigned c∶ 4; int i; }; struct packeddata data; 圖 ? 見圖 。其中 a、 b、 c共占 9位,占 1個字節(jié)多,不到 2個字節(jié)。它的后面為 int型,占 2個字節(jié)。在 a、b、 c之后 7位空間閑置不用, i從另一字節(jié)開頭起存放。 ? 注意,在存儲單元中位段的空間分配方向,因機器而異。在微機使用的 C系統(tǒng)中,一般是由右到左進行分配的,如圖 。但用戶可以不必過問這種細節(jié)。對位段中的數(shù)據(jù)引用的方法。如: 圖 ? data. a=2; ? data. b=7; ? data. c=9; ? 注意位段允許的最大值范圍。如果寫 data. a=8; ? 就錯了。因為 2位,最大值為 3。在此情況下,自動取賦予它的數(shù)的低位。例如, 8的二進制數(shù)形式為 1000,而 data. a只有 2位,取 1000的低 2位,故 data. a得值 0。 ? 關于位段的定義和引用,有幾點要說明: ? (1) 位段成員的類型必須指定為 unsigned或 int類型。 ? (2) 若某一位段要從另一個字開始存放??梢杂靡韵滦问蕉x: ? unsigned a∶ 1; ? unsigned b∶ 2; 一個存儲單元 ? unsigned∶ 0; ? unsigned c∶ 3; (另一存儲單元 ) ? 本來 a、 b、 c應連續(xù)存放在一個存儲單元 (字 )中,由于用了長度為 0的位段,其作用是使下一個位段從下一個存儲單元開始存放。因此,現(xiàn)在只將 a、b存儲在一個存儲單元中, c另存放在下一個單元。(上述“存儲單元”可能是一個字節(jié),可能是 29字節(jié),視不同的編譯系統(tǒng)而異。 ) ? (3) 一個位段必須存儲在同一存儲單元中,不能跨兩個單元。如果第一個單元空間不能容納下一個位段,則該空間不用,而從下一個單元起存放該位段。 (4) 可以定義無名字段。如: ? unsigned a∶ 1; ? unsigned ∶ 2; (這兩位空間不用 ) ? unsigned b∶ 3; ? unsigned c∶ 4; ? 見圖 。在 a后面的是無名位段,該空間不用。 圖 ? (5) 位段的長度不能大于存儲單元的長度,也不能定義位段數(shù)組。 ? (6) 位段可以用整型格式符輸出。如: printf(%d, %d, %d, data. a, data. b,data. c); ? 當然,也可以用 %u、 %o、 %x等格式符輸出。 ? (7) 位段可以在數(shù)值表達式中引用,它會被系統(tǒng)自動地轉換成整型數(shù)。如: data. a+5/data. b是合法的。 習題 編寫一個函數(shù) getbits,從一個 16位的單元中取出某幾位 (即該幾位保留原值,其余位為 0)。函數(shù)調用形式為 getbits(value, n1, n2)。 value為該 16位 (兩個字節(jié) )中的數(shù)據(jù)值, n1為欲取出的起始位, n2為欲取出的結束位。如 : getbits(0101675, 5, 8) 表示對八進制 101675這個數(shù),取出它的從左面起第 5位到第 8位。 寫一函數(shù),對一個 16位的二進制數(shù)取出它的奇數(shù)位 (即從左邊起第 … 、 15位 )。 編一程序,檢查一下你所用的計算機系統(tǒng)的 C編譯在執(zhí)行右移時是按照邏輯位移的原則還是按算術右移原則?如果是邏輯右移,請你編一函數(shù)實現(xiàn)算術右移?如果是算術右移,請編寫一函數(shù)以實現(xiàn)邏輯右移。 編一函數(shù)用來實現(xiàn)左右循環(huán)移位。函數(shù)名為move,調用方法為 move(value, n) 其中 value為要循環(huán)位移的數(shù), n為位移的位數(shù)。如 n< 0表示為左移; n> 0為右移。如 n=4,表示要右移 4位; n=3,為要左移 3位。
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1