复数正负号问题处理【编程】
来源:互联网 发布:韩国媚日 知乎 编辑:程序博客网 时间:2024/06/05 09:24
华为最新编程题,关于复数的问题,就是一个复数由32位的整形构成,高16位代表实部,低16位代表虚部,就是正负号的问题,整了很久,挂了,太悲剧了。
#include <iostream>using namespace std;int a[] = {1, -1};short int gethigh(long int num){ bool flag = false; if(num<0) { flag = true; num *= -1; } short int temp = num>>16; return a[(flag?1:0)]*(temp & 0x7fff);}short int getlow(long int num){ if(num<0) num *= -1; return (num & 0x0007fff)*a[(num & 0x00008000)?1:0];}long int togeather(short int num1, short int num2){ bool flag1=false, flag2=false; if(num1 & 0x8000) { flag1 = true; num1 *= -1; } if(num2 & 0x8000) { flag2 = true; num2 *= -1; } long int temp = 0; num1 &= 0x7fff; num2 &= 0x7fff; temp = (num1<<16 | num2); if(flag2) temp |= 0x00008000; if(flag1) temp *= -1; return temp;}int main(){ long int num1, num2; short int ss1[4]; short int ss2[4]; cin>>num1; ss1[0] = gethigh(num1); ss2[0] = getlow(num1); cout<<ss1[0]<<" "<<ss2[0]<<endl<<endl; cout<<togeather(ss1[0],ss2[0])<<" "; return 0;}
- 复数正负号问题处理【编程】
- PAT乙级 1051. 复数乘法 (15)--四舍五入带来的正负号细节问题
- 等量正负号段落
- 《LeetBook》leetcode题解(8): String to Integer (atoi) [E]——正负号处理
- 关于博客中第(13)个公式正负号的问题
- 关于姿态旋转矩阵中的正负号和旋转方向问题
- 计算器负号的处理
- python中整数除法的正负号
- 题目:实现atof/atoi,考虑正负号
- DP 添加正负号求余数POJ1745
- 解决负号后置问题
- 字符串中判断数字(值),包含小数点,正负号
- objective c 中方法前面正负号的意义
- 有正负号的大整数的乘法
- UVA10025连续自然数添上正负号得到固定的数
- 正负号标记法在数组相关程序中的使用
- LeetCode 7. Reverse Integer C++--带正负号数字反转
- ALV EDIT_MASK应用-负号前置/小数位处理
- 工作笔记总结——数据库
- 【3DSmax】3DSmax9基础建模教程—读书笔记5(第五课)
- poj 3471 整除与剩余
- 调试版本和发行版本
- 南乡子
- 复数正负号问题处理【编程】
- Adroid----数据存储之SQLite(1)
- ServletFileUpload 类
- 用程序判断设置的是debug还是release以及assert在debug和release版本中的不同行为
- opecv学习之路【五】--显示一张图片
- 数字签名是什么?
- PS基本用法工具介绍
- linux设备驱动归纳总结
- [Win32]客户端程序