把十进制数(long型)分别以二进制和十六进制形式输出,不使用printf系列库函数
2012-09-08 22:07
423 查看
from:http://blog.csdn.net/laibinghua/article/details/5906539
//十六进制的输出
char* test3(long num) {
char* buffer = (char*)malloc(11);
buffer[0] = '0';
buffer[1] = 'x';
buffer[10] = '/0';
char* temp = buffer + 2;
for (int i=0; i < 8; i++) {
temp[i] = (char)(num<<4*i>>28);
temp[i] = temp[i] >= 0 ? temp[i] : temp[i] + 16;
temp[i] = temp[i] < 10 ? temp[i] + 48 : temp[i] + 55;
}
return buffer;
}
//R进制的输出
void print(int n)
{
stack<int> k;
for(;(n+R-1)/R;)
{
k.push(n%R);
n=n>>1;
}
for(;!k.empty();)
{
cout<<k.top();
k.pop();
}
}
其实二进制数和十六进制数都可以使用R进制数的输出,只不过输出的时候有些格式需要变动
//十六进制的输出
char* test3(long num) {
char* buffer = (char*)malloc(11);
buffer[0] = '0';
buffer[1] = 'x';
buffer[10] = '/0';
char* temp = buffer + 2;
for (int i=0; i < 8; i++) {
temp[i] = (char)(num<<4*i>>28);
temp[i] = temp[i] >= 0 ? temp[i] : temp[i] + 16;
temp[i] = temp[i] < 10 ? temp[i] + 48 : temp[i] + 55;
}
return buffer;
}
//R进制的输出
void print(int n)
{
stack<int> k;
for(;(n+R-1)/R;)
{
k.push(n%R);
n=n>>1;
}
for(;!k.empty();)
{
cout<<k.top();
k.pop();
}
}
其实二进制数和十六进制数都可以使用R进制数的输出,只不过输出的时候有些格式需要变动
相关文章推荐
- 把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列。
- 把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列库函数
- 把十进制数(long型)分别以二进制和十六进制形式输出,不使用printf系列库函数
- 把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列。
- 雅虎面试题─把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列
- 雅虎面试题─把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列
- 雅虎面试题─把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列
- 雅虎面试题─把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列
- 把十进制数(long型)分别为二进制和十六进制形式输出,不能使用printf
- 134 编程实现:把十进制数(long 型)分别以二进制和十六进制形式输出,不能使用 printf系列
- 把十进制数(long型)分别以二进制和十六进制形式输出
- 不使用printf系列库函数,将十进制数以十六进制数形式输出
- 不能使用printf,将十进制数以二进制数和十六进制的形式输出...
- 不是用它printf,将十进制数以二进制和十六进制的形式输出
- 不是用它printf,将十进制数以二进制和十六进制的形式输出
- 汇编语言:从键盘输入十进制数,输出该十进制数的十进制,二进制(B),十六进制(H),八进制(Q)表示
- printf函数十六进制格式化输出并且2字节对齐
- 使用移位操作把十进制转换为二进制与十六进制字符串输出
- c语言:请编程序将“China”译成密码,分别用putchar和printf函数输出这5个字符。
- MFC的GUI窗口使用Console输出函数printf(AllocConsole后,使用GetStdHandle取得句柄,然后就可以操作了)