二進位制右移問題高手來,二進位制右移問題高手來

2021-09-15 02:21:37 字數 1910 閱讀 4084

1樓:匿名使用者

11110001右移4位,有不同的右移操作。如果是邏輯右移的話,11110001右移4位之後,得00001111(左側補0);但如果是算術右移的話,11110001右移4位之後,得11111111(左側不變)。

2樓:做而論道

首先-15算不算有符號數?

算。-15用二進位制如何表示?

即:-1111。

15的二進位制是1111,-15的二進位制數是不是15取反+1,-(1111)+1,結果是0001,這個結果那符號位不是負數1啊?

錯了。其中的這一句:-15的二進位制數是不是15取反+1,...

不是。還是11111,最高位1表示負數,1111表示15,這樣是-15?

不是。1111,如果是補碼,它就是代表 -1。

1111,如果是原碼,它就是代表 -7。

暈頭轉向,我學得很不好,希望高手給指點。

其次假設a的二進位制是負數10100110,它的十進位制怎麼計算?

負數,前面要有一個負號:"-"。

10100110,這裡並沒有寫負號,這就是正數。

它的十進位制怎麼計算?--你想要算什麼?加、減、乘、除?

-----------

看來,樓主是沒有分清《數》和《碼》的關係。

對於一個數字,無論它是什麼進位制,負號,都要寫成 "-" 。

變成《補碼》、《移碼》等等之後,才用數字來代表負號。

當用數字代表了符號,就再也不要說這是某某數了,而要說,這是某某數的什麼碼。

另外,變換的時候,應先說明位數,以便給符號,明確一個位置。

c語言中的右移一位是不是應該除以2

3樓:非常可愛

右移一來位相當於除以2。

例:5>>1

5的二自進bai製表示是101,那麼右移一位之du後是zhi10就是2了,是整除的;左移的dao話就是在後面補一個零,相當於是乘以二,那麼變成了1010,十進位制是10。

101右移,就是把最後一位拿掉了,是10這個是二進位制的,十進是2,5/2本來是小數,但這裡是整數操作的,所以把小數部分去掉了。

擴充套件資料

c語言中的左移

1、左移就是把一個數的所有位都向左移動若干位,在c中用《運算子.例如:

inti=1;

i=i<<2;//把i裡的值左移2位。

2、補符號位,就是一個signedchara=0xff;

a=a>>1;/*它仍是0xff,補了符號位。最高位是符號位=1,右移後符號位保持不變*/;

a=0x80;

a=a>>1;/*變成了0xc0*/

a=0x1f;

a=a>>1;/*變成了0x0f,因為它開始的符號位就是0*/。

4樓:幸巴達

(usartdiv - usartdiv_zhengshu)* 16相當bai於(usartdiv - usartdiv_zhengshu)<<4

左移du4位。

你理zhi解的是

dao對的。貌似是專寫**錯了

右移一位屬相當於除以2.

5樓:匿名使用者

不是c語言的有符號整數向右移位運算不等同於除以2的某次冪

如(-1)/2和(-1)>>1,前者的回結果一般答是0,後者一般是-1,所以在c語言中,負數向右移動1位並不等同於除以2。

解決的方法是:當除數是2的n次冪時,x/(2^n),可以用移位操作(x + 2^n - 1) >> n來代替(x + 2^n - 1須小於0,^是乘方操作)

在c語言中,-100/8=-12,而-100>>3=-13,兩者不相等,而用(-100+7)>>3代替則相等。

二進位制轉換16進位制二進位制轉換16進位制彙編

16進位制有數字0 9,還有a f,一共16個數碼。轉換的時候,先統一加上30h,然後要判斷是數字還是字母,數字的ascii碼和字母的ascii碼可不是一樣的哦。所以和3ah比較。如果是數字,不變 如果是字母,再加上7h 你的程式是用大寫字母表示,若是小寫字母,那應該再加上27h 數符在輸出時是按其...

二進位制資料表示方法,二進位制和16進位制分別用啥符號表示的?

計算機內部的資料表示有兩種形式,一種是並行資料,有一位二進位制就用一條導線專傳屬送,在內部儲存時是用儲存器,同樣,一位二進位制數就需要一位儲存器來儲存,這樣的話,就不會出現你所說的那樣的錯誤了。當然了,在計算機內部傳送資料是有非常嚴格的時間順序的,在時間上不會出現錯誤,在資料位數上也不會出現錯誤的。...

二進位制數字怎麼表示二進位制數字表示

2 輸入預處理命令和主函式 由於空格數容易輸錯,建議直接複製貼上 輸入 include 輸入輸出標頭檔案 void main 空型別 主函式 3 定義變數和陣列的資料型別並輸入一個十進位制 int b 16 x,k,r,i 定義變數和陣列的資料型別為整型 printf 輸入一個十進位制 輸出文字提示...