设机器数字长8位(含1位符号位),若机器数DAH为补码,则算术左移一位得 机器数字长8位(含1位符号位),若机器数为81(十六进制)

\u673a\u5668\u6570\u5b57\u957f8\u4f4d(\u542b1\u4f4d\u7b26\u53f7\u4f4d),\u82e5\u673a\u5668\u6570\u4e3a83H,\u5f53\u5b83\u5206\u522b\u8868\u793a\u539f\u7801,\u8865\u7801,\u53cd\u7801\u65f6,\u7b49\u4ef7\u7684\u5341\u8fdb\u5236\u6570\u5206\u522b\u662f\u591a\u5c11?

83H \u7684\u539f\u7801\uff1a 10000011 \uff08\u628a\u5341\u516d\u8fdb\u5236\u768483\u8f6c\u6362\u4e3a\u4e8c\u8fdb\u5236\u76841000 0011\uff09\u5bf9\u4e8e\u5b57\u957f8\u4f4d\u7684\u673a\u5668\uff0c83H\uff0810000011\uff09\u7b49\u4ef7\u4e8e\u5341\u8fdb\u5236\u6570\u7684\uff0d125 (\u5bf9\u4e8e10000000\uff0c\u6700\u9ad8\u4f4d1\u662f\u8d1f\u53f7\uff0c\u5b83\u76f8\u5f53\u4e8e\u5341\u8fdb\u5236\u6570\u7684\uff0d128\uff09
10000011\u2192 \uff0d128 + 2^1 + 2^0 = -128 + 2 + 1 = - 125
10000011\u53cd\u7801 01111100 \uff08\u628a\u4e8c\u8fdb\u5236\u768410000011\u6309\u4f4d\u6c42\u53cd\u537301111100\uff09\uff0c\u76f8\u5f53\u4e8e\u5341\u8fdb\u5236\u6570\u7684 124
01111100\u21922^6 + 2^5 + 2^4+2^3 + 2^2 = 64 + 32 + 16 + 8 + 4 = 124
10000011\u7684\u8865\u7801\uff1d\u53cd\u780101111100 + 1 \uff1d 01111101,\u76f8\u5f53\u4e8e\u5341\u8fdb\u5236\u6570\u7684 125
01111101\u21922^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^0 = 64 + 32 + 16 + 8 + 4 + 1 = 125

\u539f\u7801\uff1a-1
\u8865\u7801\uff1a-127
\u53cd\u7801\uff1a-126
\u79fb\u7801\uff1a1

DAH = 1101 1010 (2进制),
1)若符号位为2位,因为进行两位符号位的算术移位时,高符号位不参与移位,低符号位参与移位,所以:
左移一位时:11,01 1110-->10,11 0100(即B4H)
右移一位时:11,01 1110-->11,10 1101(即EDH)
2)若符号位为1位,因为算术移位中的符号位不参与:
左移一位时:1,101 1110-->1,011 0100(即B4H)
右移一位时:1,101 1110-->1,110 1101(即EDH)
因此答案和1)相同。也是B4H和EDH

#include<stdio.h>
int main()
{
char a= 0xda;
printf("%x\n", 0xff & (a << 1));
printf("%x\n", 0xff & (a >> 1));
printf("%x\n", 0xff & ((0xff & (a << 1)) >> 1) );
return 0;
}

输出:
b4 -- 左移一位
6d -- 右移一位
5a -- 先左移一位,接着再右移一位

1010写成1110了

  • 璁炬満鍣ㄦ暟瀛楅暱8浣(鍚1浣嶇鍙蜂綅),鑻ユ満鍣ㄦ暟BAH涓哄師鐮,绠楁湳宸︾Щ1浣嶅拰绠楁湳...
    绛旓細銆愮瓟妗堛戯細C 鍘熺爜宸︺佸彸绉诲潎琛0锛屼笖绗﹀彿浣涓嶅彉(娉ㄦ剰涓庤ˉ鐮佺Щ浣嶇殑鍖哄埆)銆侭AH=(10111010)2锛岀畻鏈乏绉讳竴浣(11110100)2=F4H锛岀畻鏈彸绉讳竴浣嶅緱(100l1101)2=9DH銆
  • 璁炬満鍣ㄦ暟瀛楅暱8浣(鍚1浣嶇鍙蜂綅),鑻ユ満鍣ㄦ暟DAH涓鸿ˉ鐮,鍒欑畻鏈乏绉讳竴浣嶅緱...
    绛旓細1锛夎嫢绗﹀彿浣涓2浣嶏紝鍥犱负杩涜涓や綅绗﹀彿浣嶇殑绠楁湳绉讳綅鏃讹紝楂樼鍙蜂綅涓嶅弬涓庣Щ浣嶏紝浣庣鍙蜂綅鍙備笌绉讳綅锛屾墍浠ワ細宸︾Щ涓浣鏃讹細11,01 1110-->10,11 0100锛堝嵆B4H锛夊彸绉讳竴浣嶆椂锛11,01 1110-->11,10 1101锛堝嵆EDH锛2锛夎嫢绗﹀彿浣嶄负1浣锛屽洜涓虹畻鏈Щ浣嶄腑鐨勭鍙蜂綅涓嶅弬涓庯細宸︾Щ涓浣嶆椂锛1,101 1110-->1,011 0...
  • 鏈哄櫒鏁板瓧闀8浣(鍚1浣嶇鍙蜂綅),鑻ユ満鍣ㄦ暟涓83H,褰撳畠鍒嗗埆琛ㄧず鍘熺爜,琛ョ爜,鍙嶇爜...
    绛旓細83H 鐨勫師鐮侊細 10000011 锛堟妸鍗佸叚杩涘埗鐨83杞崲涓轰簩杩涘埗鐨1000 0011锛夊浜瀛楅暱8浣鐨鏈哄櫒锛83H锛10000011锛夌瓑浠蜂簬鍗佽繘鍒舵暟鐨勶紞125 (瀵逛簬10000000锛屾渶楂浣1鏄礋鍙凤紝瀹冪浉褰撲簬鍗佽繘鍒舵暟鐨勶紞128锛10000011鈫 锛128 + 2^1 + 2^0 = -128 + 2 + 1 = - 125 10000011鍙嶇爜 01111100 锛堟妸浜岃繘鍒...
  • 璁炬満鍣ㄦ暟瀛楅暱8浣(鍚1浣嶇鍙蜂綅),鑻ユ満鍣ㄦ暟BAH涓哄師鐮,绠楁湳鍙崇Щ1浣嶅緱
    绛旓細10111010绠楁湳鍙崇Щ1浣寰11011101=DDH
  • 璁炬満鍣ㄦ暟瀛楅暱8浣(鍚1浣嶇鍙蜂綅),鑻ユ満鍣ㄦ暟BAH涓哄師鐮,绠楁湳鍙崇Щ1浣嶅緱?
    绛旓細BAH = 1011 1010 宸︾Щ1111 0100 = F4H 鍙崇Щ1001 1101 = 9DH 鍘熺爜绉讳綅琛0锛岃ˉ鐮佸乏绉讳綆浣嶈ˉ0锛屽彸绉婚珮浣嶈ˉ1锛屽弽鐮佺Щ浣嶈ˉ1.
  • 璁炬満鍣ㄦ暟瀛楅暱涓8浣(鍚1浣嶇鍙蜂綅),璁続=9/64,B=-13/32,璁$畻[A卤B]琛,骞...
    绛旓細銆愮瓟妗堛戯細[A+B]琛=1锛1011110 A+B=(-17锛64) [A-B]琛=1锛1 000110 A-B=(35锛64)[A+B]琛=1锛1011110,A+B=(-17锛64)[A-B]琛=1锛1000110,A-B=(35锛64)
  • 璁炬満鍣ㄦ暟瀛楅暱涓8浣(鍚1浣嶇鍙蜂綅),璁続= 涓19/32,B=涓17/128,璁$畻[A卤...
    绛旓細銆愮瓟妗堛戯細[A+B]琛=1锛0100011A+B=涓93锛1 28[A鈥擝]琛=0锛1000101A涓B= 涓59锛128銆俒A+B]琛=1锛0100011,A+B=涓93锛128,[A鈥擝]琛=0锛1000101,A涓B=涓59锛128銆
  • 璁炬満鍣ㄦ暟瀛楅暱涓8浣(鍚1浣嶇鍙蜂綅),璁続=-9/32,B=-17/128,璁$畻[A卤B...
    绛旓細銆愮瓟妗堛戯細[A+B]琛=1锛0100011 A+B=(-93锛128) [A-B]琛ヨˉ=0锛1000101 A-B=(-59锛128)[A+B]琛=1锛0100011,A+B=(-93锛128)[A-B]琛ヨˉ=0锛1000101,A-B=(-59锛128)
  • 璁炬満鍣ㄦ暟瀛楅暱涓8浣(鍚1浣嶇鍙蜂綅),璁続=-87,B=53,璁$畻[A卤B]琛,骞惰繕鍘...
    绛旓細銆愮瓟妗堛戯細[A+B]琛=11011110 A+B=-34 [A-B]琛=01110100 婧㈠嚭[A+B]琛=1,1011110,A+B=-34[A-B]琛=0,1110100,婧㈠嚭
  • 璁炬満鍣ㄦ暟瀛楅暱涓8浣(鍚1浣嶇鍙蜂綅),璁続=-13/16,B=9/32,璁$畻[A卤B]琛,骞...
    绛旓細銆愮瓟妗堛戯細[A+B]琛=1锛0111100 A+B=(-17锛32) [A-B]琛ヨˉ=0锛1110100 婧㈠嚭[A+B]琛=1锛0111100,A+B=(-17锛32)[A-B]琛ヨˉ=0锛1110100,婧㈠嚭
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网