作业帮 > 数学 > 作业

现在需要构造一个屏蔽字m并利用位运算计算一个整型数据x的第8位到第15位对应的数.请写出(1)构造屏蔽字m

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/09/03 02:46:54
现在需要构造一个屏蔽字m并利用位运算计算一个整型数据x的第8位到第15位对应的数.请写出(1)构造屏蔽字m
(1)m=1111111100000000
(2)(x&m)>>8
.题意我都没弄懂,
位 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
二进制 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 这是机内表示!
16进制 F F 0 0 1111 =F 11111111=FF
10进制 65280 = (15*16+15) *16*16 F=15,
屏蔽字(MASK)或者翻译为掩码;
意思是 一个数和MASK相与,保留该数 MASK位为1的数据,其余位全变成0了
8位到第15位就是高8位(左边8位)所以是16进制FF00,二进制 1111 1111 0000 0000
所以答案(1)m=1111111100000000
(2)(x&m)>>8 使用屏蔽字取出高8位,但是结果还在高8位,所以右移8位(无符号右移8位,高位补零)(x&m)>>8,就得到了x的高8位的值了!这是C吧!