当前位置: 首页 > news >正文

在线做h5 的网站中国手表网站

在线做h5 的网站,中国手表网站,北大青鸟培训机构官网,网页qq登录网址题目 考虑下面的C函数&#xff1a; int fun1(unsigned word) {return (int) ((word << 24) >> 24); }int fun2(unsigned word) {return ((int) word << 24) >> 24; } 假设一个采用补码运算的机器上以32位程序来执行这些函数。还假设有符号数值的右移…

题目

考虑下面的C函数:

int fun1(unsigned word)
{return (int) ((word << 24) >> 24);
}int fun2(unsigned word)
{return ((int) word << 24) >> 24;
}

假设一个采用补码运算的机器上以32位程序来执行这些函数。还假设有符号数值的右移是算术右移,而无符号数值的右移是逻辑右移。填写以下表格。

wfun1(w)fun2(w)
0x00000076
0x87654321
0x000000c9
0xedcba987

 代码

#include <stdio.h>
#include <string.h>
#include <iostream>using namespace std;int fun1(unsigned word)
{return (int) ((word << 24) >> 24);
}int fun2(unsigned word)
{return ((int) word << 24) >> 24;
}
int main()
{unsigned int w = 0x00000076;cout << "w = 0x00000076, fun1(w) = " << hex << fun1(w) << ", fun2(w) = " << hex << fun2(w) << endl;w = 0x87654321;cout << "w = 0x87654321, fun1(w) = " << hex << fun1(w) << ", fun2w) = " << hex << fun2(w) << endl;w = 0x000000c9;cout << "w = 0x000000c9, fun1(w) = " << hex << fun1(w) << ", fun2(w) = " << hex << fun2(w) << endl;w = 0xedcba987;cout << "w = 0xedcba987, fun1(w) = " << hex << fun1(w) << ", fun2(w) = " << hex << fun2(w) << endl;return 0;  
}

结果 

分析

对于fun1函数来说,(int)((word << 24) >> 24)的执行顺序是

  1. word << 24 word左移24位
  2. (word << 24) >> 24 然后右移24位
  3. (int)((word << 24) >> 24) 最后从无符号数转换成有符号数

对于fun2函数来说,((int) word << 24) >> 24的执行顺序是

  1. (int) word  word 被转换成有符号数
  2. (int) word << 24 然后左移24位
  3. ((int) word << 24) >> 24 最后右移24位

相同位模式的有符号数和无符号数,由于编码定义的不同,表示的整数会有所不同。

fun1: 对于无符号数w来说,经过左移24位和右移24位后,所有的数值都会变成0x000000XX(XX=76,21,c9,87)。由于最左边16进制数为0,二进制表示为0000。这样的位模式表示为有符号数值为正,即和无符号数的位模式一样。

fun2: w转换为有符号数后左移操作和无符号数的左移操作是一样的,即都在位最右端填充24个0。

w(int) word << 24((int) word << 24) >> 24
0x000000760x76000000 [7 -> 0111]0x00000076
0x876543210x21000000 [2 -> 0010]0x00000021
0x000000c90xc9000000 [c -> 1100]0xffffffc9
0xedcba9870x87000000 [8 -> 1000]0xffffff87

由于最左端的位产生了变换, 0xc9000000和0x87000000是负数,所以接下来的右移会是算术右移。而正数的右移依旧是逻辑右移。

http://www.yayakq.cn/news/106629/

相关文章:

  • 关于行业网站建设意见17网一起做网店普宁
  • 如何自学制作网站企业宣传方案模板
  • 福建设计招聘网站建设网站需要的配置
  • 北京通州区网站建设外链提交
  • 闵行交大网站建设wordpress 正计时
  • 周年庆网站要怎么做6wordpress自适应 the7
  • php免费网站建设南宁工程建设信息网
  • 徐州cms建站服装 公司 网站建设
  • 佛山外贸网站设计请拿笔记记下新域名
  • 手机企业网站设计理念做兼职哪个网站好
  • 网站建设术语触屏版网站开发
  • 顺德公司做网站企业营销网站建立
  • 网页设计公司平台保定网站建设seo优化营销
  • 青岛网站建设情况公众号开发需要提供什么
  • 南山的网站建设做网站接项目
  • 网站备案需要多久创新的网站建设公司排名
  • 杭州做公司网站的公司免费主机空间
  • 目前最先进的网站建设技术查wordpress模板
  • 中山品牌网站建设推广网站后台查询软件
  • 镇江房产网站建设好用的网站链接
  • 长沙建个网站要多少钱莆田网站建设哪家好
  • 海南省建设工程质量监督网站民网东莞网站建设
  • 做网站源码要给客户嘛衡阳seo优化公司
  • 专门做考研的网站现在推广平台哪家最好
  • 怎么做微信网站wordpress社区小程序
  • 网站存在的问题及改进措施seo关键字优化教程
  • 小迪网站建设redis做缓存的网站并发数
  • 成都企业网站建设方案网页设计代码html分行
  • 东莞长安网站设计静海网站建设
  • 哪个网站开发软件网站建设模板代码