整数拆位
/*
整数拆位
1)拆出整数的各个数,比如一个数:1234,要拆出每位,1 2 3 4输出;
2)如果知道整数的各个位,如何组装成一个整数,比如:百位是3,十位是2,个位是1,结果是:321。
理解整数的构造原理
1234 = 1*1000 + 2*100 + 2*10 + 4
1000,100,10,1叫权重,每个数位的权重不一样。各位数字*对应数位权重再相加
所以如果知道各个位数字,是可以组装出这个整数的。
拆位的规律
1234要得到各个数,可以通过/和%方式得到
根据整除原理可得:
/10去1个尾数,/100去2个尾数,/1000去3个尾数
根据取余数原理可得:
%10得1个尾数,%100得2个尾数,%1000得3个尾数
总结:
能熟练拆出整数的各个位,用/10和%10方式
知道整数的各个数能组装出这个整数
*/
#include <iostream>
using namespace std;
int main() {
int n = 1234;
int q,b,s,g; //千,百,十,个
g = n%10; //得1个尾数
s = n/10%10; //先去1个尾数得123,再得1个尾数3
// s = n%100/10 //先得2个尾数34,再去一个尾数4得3,总结对于中间的数,需要有两步,首先通过得尾数或去尾数把这个数放到开头或结尾,再一次去尾数或得尾数即可
b = n/100%10; //先去2个尾数得12,再得1个尾数2
q = n/1000; //去3个尾数得1
cout<<q<<" "<<b<<" "<<s<<" "<<g<<endl;
return 0;
}