首页 > 其他分享 >《深入理解计算机系统》习题2.61

《深入理解计算机系统》习题2.61

时间:2022-10-12 17:34:30浏览次数:50  
标签:计算机系统 字节 rightnum int rightmove 2.61 middlenum leftdecision 习题

#include <stdio.h>

int function(int a) //此函数返回某个数的补码中最高字节位全为0,或者最低字节位全为1的数。
{
int shift=(sizeof(int)-1)<<3; //最低字节位都应是1
int rightmove; //或者
int leftmove; //最高字节位都应是0
int middlenum; //有一说一,最高字节位全为1的数在较小的数里面不是一抓一大堆?
int rightnum;
int leftdecision;
rightmove=a>>shift;
leftmove=a<<shift;
middlenum=0xff<<shift;
rightnum=rightmove&0xff;
leftdecision=middlenum^leftmove;
return ((!rightnum)||(!leftdecision)); //返回结果
}
int main()
{
int a;
int i;
for(i=0;;i++) //i值从268435710到268435711处可看见明显的一个函数返回值从0到1的变化
{
a=function(i); //只需对某个数调用函数function()即可
printf("%d\n",a); //此处是用死循环从0开始依次判断下去
if(a==0)
{printf("%d\n",i);}
}
return 0;
}

标签:计算机系统,字节,rightnum,int,rightmove,2.61,middlenum,leftdecision,习题
From: https://www.cnblogs.com/Ilovetheseconddimension/p/16785327.html

相关文章

  • 练习题02
    用程序判断2022年7月27日是星期几?使用SimpleDateFormat类,把2018-03-04转换成2018年03月04日创建一个表示从1970年1月1日0时0分1秒的Date类的对象,并获取该对象到1970年1......
  • day10-习题
    习题1.Homework01(1) D--没有在别名上加引号(ps:别名的as可以省略)(2) B--判断null或非空不能用不等于号(3) C2.Homework02写出查看dept表和emp表的结构的sql......
  • 练习题01
    1、编写程序将"jdk"全部变为大写,并输出到屏幕,截取子串"DK"并输出到屏幕2、写一个方法判断一个字符串是否对称3、编写一个程序,将下面的一段文本中的各个单词的字母顺......
  • MySQL练习题2
    6,取得平均工资最高的部门的部门名称。selectd.dname,avg(e.sal)asavgsalfromempejoindeptdone.deptno=d.deptnogroupbyd.dnameorderbyavgsaldescli......
  • python练习题-数据类型-列表拼接,按指定字符串查找,首尾去空(三)
    1.问题描述。把下图中列表,元组,字典中的值,组成一个列表。并查找列表中元素,移除每个元素的空格,并查找以a或者A开头并且以c结尾的所有元素。li=["alec","aric","Alex","T......
  • 习题11-5 指定位置输出字符串 (20分)
    本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。函数接口定义:char*match(......
  • MySQL练习题
    1,取得每个部门最高薪水的人员名称:1,先按照部门分组并求出每个部门的最大值,以及获取最大值的部门编号。作为临时表2,通过joinon连接两个表,使用子表中的部门编号和......
  • 函数参数习题
    编写一个函数,能够接受至少2个参数,返回最小值和最大值importrandomdefdouble_values(*nums):print(nums)returnmax(nums),min(nums)print(*double_values......
  • python练习题-数据类型
    1.利用下划线,把列表的每个元素拼接成一个字符串。lst=['Rose','Tom','Bye'];1.1python2解法:#coding=utf-8;#1.利用下划线,把列表的每个元素拼接成一个字符串lst......
  • 练习题:简单薪水计算器
    练习题:简单薪水计算器题目:薪水计算器:(1)通过键盘输入用户的月薪,每年是几个月薪水(2)输出用户的年薪(3)输出一行字“如果年薪超过10万,恭喜你超过90%的国人”,“如果年......