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

正文內容

深入理解計算機系統(tǒng)第二版資料-家庭作業(yè)答案-展示頁

2025-06-29 00:46本頁面
  

【正文】 值V為2^(2^(k1)2),f部分為全0,E=2^(k1)2,e部分為2^(k1)2 + bias = 2^k 3,即為11..101。這時,s=0,e=n+2^(k1)1,f=11...1。,那么其M=..1,故f部分全為1,E應該為n。指數(shù)部分應該為E=2,所以其指數(shù)部分位表示為e=(2^(k1)1) + 2 = 2^(k1)+1。 ux = uy)。 sy amp。 ux = uy) ||(sx amp。 !sy amp。(!sx amp。amp。 (uy1)==0) ||所以條件是:((ux1)==0 amp。如果小于0則相反。所以 x = Y/(2^k 1)。所以左邊總是=x。D. true,無符號和有符號數(shù)的位級表示是相同的。B. true,補碼的加減乘和順序無關(如果是右移,則可能不同)。A. 1[wn]0[n]: }return(xamp。amp。((x(w1))ans(b0amp。answ =(x1)。(x3)int(x2)amp。1,intx){int 容易證明,加法后三位不全為0可以等價為x后三位不全為0。 ((x2)+x 的后三位不全為0)。負數(shù)向0舍入的條件是x0 amp。再看看b(0)+b(2)會不會產生進位,如果產生進位,則再加一。于是就計算(x2) + x,再右移一位即是所求答案。b(1), b(0)]最后需要右移3位。 0]+ 0, 先看上述表達式,假設x的位模式為[b(w1), b(w2), ... , b(0)],那么我們需要計算:[b(w1),b(w2),b(w3), }return(xamp。amp。(x(w1))answ =ans = xk。intdivide_power2(intx的最后k位不為0。舍入的條件是x0amp。sign_h = unsign_h + ((x(w1)) * y) + ((y(w1)) * x)。 y) ((y(w1)) amp。}最后一步計算之前的h即為unsigned相乘得到的高位。++(xi)。lxi))(unsigned)x(wi)。h{1if(i++){iw。i=1。1)?x:0。l =h =w =amp。h,intintsigned_prod_result(int= x。+returnunsigned y){int注:不使用long long來實現(xiàn)signed_high_prod(int x, int y)是一件比較復雜的工作,而且我不會只使用整數(shù)位級編碼規(guī)則來實現(xiàn),因為需要使用循環(huán)和條件判斷。 y 和 ((int)y(w1)) amp。}當然,這里用了乘法,不屬于整數(shù)位級編碼規(guī)則,聰明的辦法是使用int進行移位,并使用與運算。++signed_high_prod(x,sizeof(int)3。intunsigned y){unsigned*y39。amp。amp。amp。 (t0 != a0)t = a b。CF: (unsigned t) (unsigned a) 進位標志OF: (a0 == b0) amp。}順便整理一下匯編中CF,OF的設定規(guī)則(個人總結,如有不對之處,歡迎指正)。amp。(xt=(w1)。x=(w1)。intw =inttsub_ovf(int2) ab = abs(a) + abs(b) = abs(TMax) + abs(TMin)=(2^w 1)所以,a,b異號,t,b同號即可判定為溢出。 b=0,則只有當t=0時才算溢出。如果a0 amp。amp。如果a, b 同號,則肯定不會溢出。}(neg_ovf amp。 ans)|(pos_ovf amp。~(pos_ovf|neg_ovf)。intyamp。int~yamp。pos_ovf =t=(w1)。x=(w1)。+int+intw =intsaturating_add(int于是,可以利用三個變量來表示是正溢出,負溢出還是無溢出??芍簍 = a + b時,如果a,b異號(或者存在0),則肯定不會溢出。amp。},因此左邊都會先轉換為無符號整數(shù),它肯定是大于等于0的。returnintbytenum){xbyte(unsigned word,,將待抽取字節(jié)左移到最高字節(jié),再右移到最低字節(jié)即可。!(~x)。!x(n1)。xn){x,int如果該位為0,則前面的wn位均為0,如果該位為1,則前面的wn位均為1。}這一題是看x的值是否在 2^(n1) 到 2^(n1) 1之間。|returnw =int}unsignedreturnn){int感覺中文版有點問題,注釋和函數(shù)有點對應不上,于是用英文版的了。 set_msb = a1。 a = 115。}。return|=8)。(xx|=2)。(xx|=int于是便想到了二進擴展。最后一句也可以是 return (x^1)amp。x的每個位進行異或,如果為0就說明是偶數(shù)個1,如果為1就是奇數(shù)個1。1)。return(x x(x x(x x(x x(x xeven_ones(unsigned x){(0x55555555))。amp。returnany_even_one(unsigned x){xsra。amp。returnunsigned z =w =k。xxsra =int}int|return+(~(zamp。amp。unsigned left =unsigned right = mask(wk1)。1sizeof(int) 3。int(unsigned)intk){x,int額外注意k==0時,不能使用1(wk),于是改用2(wk1)。對于srl,注意工作就是將前面的高位清0,即xsra amp。如果x的第wk1位為0,取反加1后,前面位全為0,如果為1,取反加1后就全是1。}對于sra,主要的工作是將xrsl的第wk1位擴展到前面的高位。==returnx =這里我感覺應該是英文版對的,int_shifts_are_arithmetic()int中文版恰好反過來了。}A. !~xB. !xC. !~(x((sizeof(int)1)3))D. !(xamp。|(xintcharx,~0xFF)unsigned}(xamp。*((char*)amp。1。intis_little_endian(){深入理解計算機系統(tǒng)(第二版) 家庭作業(yè) 第二章 略inta =returna)。0xFF) | (yamp。replace_byte(unsignedunsignedb,i){returnamp。~(0xFF(i3)))(b(i3))。0xFF)注意,英文版中C是最低字節(jié),D是最高字節(jié)。這里是按中文版來做的。int_shifts_are_arithmetic(){int1。(x1)1。這個可以利用取反加1來實現(xiàn),不過這里的加1是加1(wk1)。最后再使用相應的掩碼得到結果。 (1(wk) 1)。sra(intintxsrl =xk。w =unsigned z =unsigned mask = z1。amp。xsrl。~maskxsrl)z)。leftright。srl(unsigned x,k){int(int)intsizeof(int)*8。2(wk1)。(z1)}int!!(x}int^=16)。^=8)。^=4)。^=2)。^=1)。!(xamp。}那么可以想到折半縮小規(guī)模。1根據(jù)提示想到利用或運算,將最高位的1或到比它低的每一位上,忽然想如果x就是10000000..該如何讓每一位都為1。先是x右移1位再和原x進行或,變成1100000...,再讓結果右移2位和原結果或,變成11110000...,最后到16位,變成11111111...。leftmost_one(unsigned x){x(x1)。|=x(x4)。|=x(x16)。x^(x1)。 231。 a=15。 beyond_msb = a2。個人猜想應該是讓x的最低n位變1。lower_one_mask(int(2(n1))1。rotate_right(unsigned x,n){intsizeof(unsigned)*8。(xn)(x(wn1)1)。如果x滿足這個條件,則其第n1位就是符號位。所以本質是判斷,x的高wn+1位是否為0或者為1。fits_bits(intint=return||},而并非擴展為signed的結果。intintret = word((3bytenum)3)。ret24。(maxbytes 0 amp。 maxbytes = sizeof(val))。如果a,b均大于等于0,則t0就是正溢出,如果a,b均小于0,則t=0就是負溢出。intx,y){intsizeof(int)3。t = xy。ans = xy。y=(w1)。int~xamp。t。neg_ovf = xamp。~t。novf =return INT_MAX)(novf amp。| INT_MIN)。對于有符號整數(shù)相減,溢出的規(guī)則可以總結為:t = ab。如果a=0 amp。 b0,則只有當t=0時才算溢出。amp。不過,上述t肯定不會等于0,因為當a,b不同號時:1) a!=b,因此ab不會等于0。intx,y){intsizeof(int)3。t = xy。y=(w1)。return!= y) amp。 (y == t)。t = a + b。amp。CF: (a0 amp。 b=0) || ((a0 == b0) amp。 t0) 退位標志OF: (a0 != b0) amp。 (b0 == t0)匯編中,無符號和有符號運算對條件碼(標志位)的設定應該是相同的,但是對于無符號比較和有符號比較,其返回值是根據(jù)不同的標志位進行的。根據(jù)218,不難推導, (x39。)_h = (x*y)_h + x(w1)*y + y(w1)*x。unsigned_high_prod(unsigned x,w =returny)(x(w1))*yx*(y(w1))。即 ((int)x(w1)) amp。 x。下面的代碼是計算兩個整數(shù)相乘得到的高位和低位。uadd_ok(unsigned x,xy}voidx,y,amp。intl){intsizeof(int)3。0。(yamp。for(int(yi)amp。)+=if(!uadd_ok(l,h++。+=}}h = h((x(w1))*y)((y(w1))*x)。sign_h = unsign_h ((x(w1)) amp。 x)。A. K=5: (x2) + xB. K=9: (x3) + xC. K=30: (x5) (x1)D. K=56: (x3) (x6)先計算xk,再考慮舍入。amp。intx,k){intintsizeof(int)3。+=amp。((1k)1))。ans。這相當于計算((x2) + x) 3,當然,需要考慮x為負數(shù)時的舍入。 ... ,b(0), [b(w1),b(w2),...,b(2), 因此我們可以忽略下方的b(1),b(0)。不過考慮到(x2) + x可能也會溢出,于是就計算(x3) + (x1),這個顯然是不會溢出的。最后考慮負數(shù)的舍入。amp。滿足舍入條件的話,結果再加1。mul5div8(int
點擊復制文檔內容
范文總結相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1