前学期、私はオペレーティング システムのクラスを受講しました。クラス全体が C で教えられていたことに驚きはしませんでしたが、C を多用することで、クラスの一部の人々を悩ませていたようです。コースが終わったとき、言語を嫌っていた何人かの人々が、再び C でプログラミングする必要がなくなったことにどれほど満足しているかについて声を上げていました。これにより、学生(および教師)の間で小さな議論が始まり、コースを教えた教師の1人からの返信で終わりました. 彼の答えは C コードで書かれていました。
#include <stdio.h>
unsigned char output[] = {
0xe7, 0x3a, 0x1d, 0x2f, 0x01,
0x92, 0x42, 0x09, 0x48, 0x01,
0x92, 0x32, 0x09, 0x8e, 0x01,
0x92, 0x0a, 0x09, 0x48, 0x01,
0xe7, 0x73, 0xdd, 0x2f, 0x00,
};
int main() {
unsigned char* wb;
int i;
for (wb = output; *wb; wb++) {
if (*wb == 0x01) {
printf("\n");
continue;
}
for (i = 7; i >= 0; i--) {
putchar((((*wb >> i) & 1) + 0x20));
}
}
printf("\n");
return 0;
}
これは以下を出力します:
!!! !!! !!! ! !!! ! ! !!!!
! ! ! ! ! ! ! ! !
! ! ! !! ! ! !! !!!
! ! ! ! ! ! ! ! !
!!! !!! !!! !!!! !!! ! ! !!!!
これは、私の人生でCコードで誰かがやっているのを見た中で最もクールなことです!!! これがどのように行われるかを誰かに説明できますか?
[編集: わかりやすくするためにインデントを調整]