c++ 64位二进制 移位运算并输出结果
2014-03-10 22:11
309 查看
一个很一般的程序
#include<iostream>
using namespace std;
void main(){
int a,b,p;
cout<<"entre a,b:"<<endl;
cin>>hex>>a>>b;
cout<<"a=";
cout.width(8); //宽度是8
cout.fill('0');//前面补0
cout <<hex << a<<endl;
cout<<"b=";
cout << hex << b<<endl;
p=b&0X80000000;
//cout << hex << p<<endl;
//cout << dec << p<< endl;
//cout<<p<<endl;
cout<<"after left shift a b=";
if(p==0){
a=a<<1;
b=b<<1;
cout.width(8);
cout.fill('0');
cout<<a<<" ";
cout<<b<<endl;
}
else{
a=a<<1;
a=a|1;
b=b<<1;
cout.width(8);
cout.fill('0');
cout<<a<<" ";
cout<<b<<endl;
}
}
#include<iostream>
using namespace std;
void main(){
int a,b,p;
cout<<"entre a,b:"<<endl;
cin>>hex>>a>>b;
cout<<"a=";
cout.width(8); //宽度是8
cout.fill('0');//前面补0
cout <<hex << a<<endl;
cout<<"b=";
cout << hex << b<<endl;
p=b&0X80000000;
//cout << hex << p<<endl;
//cout << dec << p<< endl;
//cout<<p<<endl;
cout<<"after left shift a b=";
if(p==0){
a=a<<1;
b=b<<1;
cout.width(8);
cout.fill('0');
cout<<a<<" ";
cout<<b<<endl;
}
else{
a=a<<1;
a=a|1;
b=b<<1;
cout.width(8);
cout.fill('0');
cout<<a<<" ";
cout<<b<<endl;
}
}
相关文章推荐
- ZOJ 1205题解本来是一道大数运算水题,可是却纠结了很久,原因是没能真正读懂题意,要求的计算必须是一一对应输出即使前面出现几个0最后也要把前面的0输出,看别人用C++自己还是两个都提交了结果还是C占的内存少。
- C++ 编写计算器 附带自动查错功能(输入表达式输出运算结果)
- 用移位运算实现一个整数二进制形式的输出--简短程序分析
- 编程题#2:输出指定结果一(C++程序设计第10周)
- 数的二进制表示及移位运算
- 二进制,位运算,移位运算
- C++ 运算结果出现 1.#IND, 1.#INF nan, inf 原因
- C++输出 int 型的二进制表示
- c++使用动态规划dp(自底向上)重构解决钢条切割输出最大收益和切割方案及运行实例结果
- c/c++中数据输出到文件名有变量的文件中或多个程序运行结果输出到同一个文件中的方法
- (华为机考题)通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
- C/C++用移位实现乘除法运算,提高运行效率
- c/c++输出64位整形值
- 输入一个字节内的数(0~255)和移动位数。输出移位结果(要求循环移位)
- 输入一个字节内的数(0-255)和移动位数.输出移位结果(要求循环移位)
- C++ 移位运算 浅析
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZde
- 输入一个字节内的数(小于256)与移位个数,输出移位结果(一个字节循环移位)
- 输入一个字节内的数(0-255)和移动的位数,输出移位结果
- 复数四则运算-c++代码实现及运行实例结果