2 条题解
-
1
#include <iostream> using namespace std; long long n; int a[15]; int main() { //将n按7位来分离,之后以10进制数字来保存 //同时来记录分离的个数 cin>>n; if(n == 0){ cout<<"00"<<endl; return 0; } int l = 0; while(n > 0) { //0111 1111 7f l++; a[l] = n & 0x7f; n = n >>7; } //将低位的每组都 最高位变为1 最后一组填0意味着不变 for(int i =1; i < l;i++) { a[i] = a[i] | 0x80; } //将每个a[i]转化位十六进制来输出 分为高4位和第四位 for(int i =1; i <= l;i++) { //cout<<a[i]<<endl; //将高四位与低四位分开 //高四位 >> 4 //低四位 & 0f int g4 = a[i] >>4; int d4 = a[i] & 0x0f; printf("%X",g4); printf("%X ",d4); } return 0; }
信息
- ID
- 4886
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 18
- 已通过
- 6
- 上传者