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

深入理解计算机系统 家庭作业 2.65

/*

异或运算可以把同为1时变成0。

*/

#include <stdio.h>
#include <stdlib.h>

int odd_ones(unsigned x);

int main(void)
{
    int x=0xF0000001+6;
    printf("x的奇数位:%d",odd_ones(x));
    return 0;
}


int odd_ones(unsigned x) {
    char a[32];
    itoa(x,a,2);
    printf("x=0x\t\t%32s\n",a);
    itoa(x>>16,a,2);
    printf("x>>16=0x\t%32s\n",a);
    x ^= x >> 16;
    itoa(x,a,2);
    printf("x^=x>>16=0x\t%32s\n",a);
    itoa(x>>8,a,2);
    printf("x>>8=0x\t\t%32s\n",a);
    x ^= x >> 8;
    itoa(x,a,2);
    printf("x^=x>>8=0x\t%32s\n",a);
    itoa(x>>4,a,2);
    printf("x>>4=0x\t\t%32s\n",a);
    x ^= x >> 4;
    itoa(x,a,2);
    printf("x^=x>>4=0x\t%32s\n",a);
    itoa(x>>2,a,2);
    printf("x>>2=0x\t\t%32s\n",a);
    x ^= x >> 2;
    itoa(x,a,2);
    printf("x^=x>>2=0x\t%32s\n",a);
    itoa(x>>1,a,2);
    printf("x>>1=0x\t\t%32s\n",a);
    x ^= x >> 1;
    itoa(x,a,2);
    printf("x^=x>>1=0x\t%32s\n",a);
    printf("1=0x\t\t%32x\n",1);
    return x & 0x1;
}

http://www.lryc.cn/news/330361.html

相关文章:

  • Java字节码
  • 深入解析大数据体系中的ETL工作原理及常见组件
  • 条件变量的简易C++实现版
  • 目标检测评价标准
  • C51-- 蓝牙,WIFI模块
  • HN热帖|替换Redis的一场赛跑
  • Kubernetes(k8s):网络插件之Calico安装与详解
  • Chrome base 库详解:工具类和常用类库
  • Nginx开发实战三:替换请求资源中的固定数据
  • 如何在Python中实现多线程和多进程?
  • Redis面试题10道
  • vue3从精通到入门6:v-memo指令
  • 【算法集训】基础算法:双指针
  • 李白打酒加强版(c++实现)
  • 平价运动蓝牙耳机哪个品牌好?必选的5个爆款品牌,超高性价比!
  • Android ImageView以及实现截图
  • 剑指offer--数组中重复的数字
  • 【THM】SQL Injection(SQL注入)-初级渗透测试
  • 数码论坛系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)
  • vue3性能提升主要通过哪几方面?
  • 跨境电商IP防关联是什么?有什么作用?
  • git仓库太大只下载单个文件或文件夹
  • OpenHarmony实战:RK3568 开发板镜像烧录指南
  • Asp.net Core 中一键注入接口
  • 怎么让ChatGPT批量写作原创文章
  • 【SqlServer】Alwayson收缩日志
  • 视觉里程计之对极几何
  • 数据可视化高级技术(Echarts)
  • 设计模式——行为型——责任链模式Chain Of Responsibility
  • 设计模式之工厂方法模式精讲