hur.cn - 华软网

 热门搜索

有关把一个整数分解成两个整数的问题,很简单但我不会

  作者:未知    来源:网络    更新时间:2011/4/14
//一个整数,高四位为一个值,低一位另一个值,如何把它分解成两个数,讨教

//如15(十进制)即1和5
//如105(十进制)即10和5
//如1005(十进制)即100和5
//如10005(十进制)即1000和5


请问怎样用C++编程解决上述问题,谢谢。
---华软 网友回答---
int a = 10005;
int H = a/10;
int L = a%10;
---华软网友回复---
谢谢,我只想到余10
---华软网友回复---
C++">int a=123456;

int c1=a%10;//低值
int c2=a/10;//高位

这不是很简单么

---华软网友回复---
用 /10 和 %10 的组合,能够实现把 一个整数的各个 位上的数 独自提掏出来。
比如,12345,分别提掏出为 1,2,3,4,5
---华软网友回复---
引用 1 楼 king_hhuang 的回复:
int a = 10005;
int H = a/10;
int L = a%10;

不就是这样吗?利用取余和相除的方法应该能够分离啊,至于进制能够根据出书而转变 啊!
---华软网友回复---
你的问题就有问题。
如果高4位是一个数,低4位是一个数,你的是15就不是10进制而是十六进制。
你究竟是按位分照旧按十进制数值分?
譬喻一个数 255,按位分。

BYTE a = 255;
低4位 BYTE b = a&0xff; // 结果是15
高四位BYTE c = a>>4;    // 结果也是15

按数字分怎么分? 想分成 2 、5 和 5 三个?



---华软网友回复---
int  xx = 1024;

int low =   LOW (xx);
ing hight = HIGH(xx);
自然获得!
---华软网友回复---
int a=*;
int h=a%10;      //掏出个位
int l=(a-b)/10   //去掉一个0

例:a=15;  h=15%10=5; l=(15-5)/10=1;
   a=10005;  h=10005%10=5;  l=(10005-5)/10=1000;  
---华软网友回复---
引用 6 楼 gordon3000 的回复:
你的问题就有问题。
如果高4位是一个数,低4位是一个数,你的是15就不是10进制而是十六进制。
你究竟是按位分照旧按十进制数值分?
譬喻一个数 255,按位分。

BYTE a = 255;
低4位 BYTE b = a&0xff; // 结果是15
高四位BYTE c = a>>4; // 结果也是15

按数字分怎么分? 想分成 2 、5 和 5 三个?


255 就是想分成2,5,5,三个数字,
---华软网友回复---
引用 9 楼 zhxingway 的回复:
引用 6 楼 gordon3000 的回复:
你的问题就有问题。
如果高4位是一个数,低4位是一个数,你的是15就不是10进制而是十六进制。
你究竟是按位分照旧按十进制数值分?
譬喻一个数 255,按位分。

BYTE a = 255;
低4位 BYTE b = a&0xff; // 结果是15
高四位BYTE c = a>>4; // 结果也是15

按数字分……

255 就是想分成2,5,5,三个数字,


那就不是4位的问题了,上面说的除10取余的方法就管用。
要是BCD码是4位。
---华软网友回复---
引用 10 楼 gordon3000 的回复:
引用 9 楼 zhxingway 的回复:
引用 6 楼 gordon3000 的回复:
你的问题就有问题。
如果高4位是一个数,低4位是一个数,你的是15就不是10进制而是十六进制。
你究竟是按位分照旧按十进制数值分?
譬喻一个数 255,按位分。

BYTE a = 255;
低4位 BYTE b = a&0xff; // 结果是15
高四位BYTE……

很久没看到这个头像      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。