Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

The smallest Linux ELF binary to print ’Hello world!’

	BITS	32
	ORG	0

	DB	0x7F
entry:
	inc	ebp
	dec	esp
	inc	esi
	mov	dl, 14
	mov	cl, hello
	xor	dword [ecx], 0x6C4D6549
	inc	ebx
	push	dword 0x00030002
	mov	al, 4
	int	0x80
	add	[eax], eax
	add	[eax], al
	sbb	[eax], al
	add	[eax], al
	sbb	[eax], al
	add	[eax], al
	xchg	eax, esi
	dec	ebx
	int	0x80
	DD	0x00210000-0x18
hello:	DD	0x00210001
	DB	'o, world!', 10

To compile this program, you need nasm.

nasm -f bin -o tiny-hello.bin tiny-hello.asm && chmod +x tiny-hello.bin

"tiny-hello.bin" is 58 bytes ELF binary and print 'Hello, world!'

サイコロを2個…

サイコロを2個振ると、起こりうる結果は36通りある。
そして、それぞれの結果が起こる確率は1/36である。
これは、36通りの結果が同様に確からしく起こるからである。
では、なぜ36通りの結果が同様に確からしく起こるのであろう?
それは、サイコロAの結果とサイコロBの結果が独立で、各サイコロは6通りの結果は同様に確からしく起こるからである。

では、どうやったら二つの結果が独立であることが分かるのだろうか?
そういう時は統計だ!何回もやってみて独立っぽかったら独立だ!
分割表を使った独立性の検定を思い出せ!6×6のテーブルを作って、36通りの頻度を記録していけばいい。
そして、おのおののマスが1/36の割り合いで発生したかをχ二乗検定だ!

…ってこれって36通りが同様に確からしいことの検定じゃん。
というわけで、数学的には

  • 36通りの結果が同様に確からしく起こる
  • サイコロAの結果とサイコロBの結果が独立で、各サイコロは6通りの結果は同様に確からしく起こる

は同値なのでした。
おしまい。