zoukankan      html  css  js  c++  java
  • 位操作取余

    问题:

    编写程序使用位操作计算整数对8取余得到的正余数。

    如29=(3×8)+5和-14=(-2×8)+2,余数分别是5和2。

    代码:

    #include"stdafx.h"
    #include<iostream>
    
    using std::cout;
    using std::endl;
    using std::cin;
    
    
    int main(){
        int a, b;
        cout << "输入你要计算的数:"<<endl;
        cin >> a;
        b = a & 7;
        cout <<"余数是:"<<endl<< b<<endl;
        return 0;
    }

    分析:

    这样算是因为8化成二进制数是00001000,每次增加一个8,也就是加一个00001000,所以前面的1都是8进位所得,也就是加8得到的,后面的是剩下的余数,所以计算得到后面的余数即可。

    各位大神多多指教
  • 相关阅读:
    3.14周末作业
    3.13作业
    文件处理
    字符编码
    基本数据类型总结
    基本数据类型--------------------集合set()
    python入门009
    作业009
    python入门008
    作业008
  • 原文地址:https://www.cnblogs.com/dushenda/p/9651412.html
Copyright © 2011-2022 走看看