我有一个使用空格和星号将数字从0转换为255的程序。我想用它来将数字从data$bin<-as.factor(ifelse(data$internet<=2.3225,"one",
ifelse(data$internet>2.3225 && data$internet<=4.425,"two",
ifelse(data$internet>4.425 && data$internet<=6.5275,"three",
ifelse(data$internet>6.5275,"four",NA)))))
文件转换为二进制表示法,如下所示:
.txt
我该怎么做?
这是我到目前为止获得的代码,但是没有任何输入:
./binary < binaryData.txt
60: ****
66: * *
128: *
...
答案 0 :(得分:0)
您将需要使用scanf()
来获取数字作为输入,然后打印其二进制表示形式。继续扫描,直到scanf()
返回EOF
,这意味着您已经到达输入的末尾。
这就是您要寻找的东西:
#include <stdio.h>
int main(void) {
int i;
while (scanf("%d", &i) != EOF) {
printf("%3d: ", i);
printf(i & 128 ? "*" : " ");
printf(i & 64 ? "*" : " ");
printf(i & 32 ? "*" : " ");
printf(i & 16 ? "*" : " ");
printf(i & 8 ? "*" : " ");
printf(i & 4 ? "*" : " ");
printf(i & 2 ? "*" : " ");
printf(i & 1 ? "*" : " ");
printf("\n");
}
return 0;
}
编译后,从这样的shell中调用程序:
./program < data.txt
示例输入文件data.txt
:
234
2
221
24
89
22
输出:
234: *** * *
2: *
221: ** *** *
24: **
89: * ** *
22: * **