55 lines · 929 B · Brainfuck
RawDownload
##       Software from the book "Inferno Programming with Limbo"#       published by John Wiley & Sons, January 2003.##       p. Stanley-Marbell <pip@gemusehaken.org>#implement Char2bytes; include "sys.m";include "draw.m"; sys : Sys; Char2bytes : module{	init : fn(nil : ref Draw->Context, nil : list of string);}; init(nil : ref Draw->Context, nil : list of string){	i, n : int; 	sys = load Sys Sys->PATH; 	mu := array [Sys->UTFmax] of byte;	if ((n = sys->char2byte(16r3bc, mu, 0)) == 0)	{		sys->print("char2byte failed, buffer too small\n");	}	else	{		sys->print("UTF-8 sequence is:\n");	} 	for (i = 0; i < n; i++)	{		sys->print("\t\t[%x]\n", int mu[i]);	} 	sys->print("i.e. :\n");	for (i = 0; i < n; i++)	{		sys->print("\t\t[");		bitprint(8, int mu[i]);		sys->print("]\n");	}} bitprint(nbits, number : int){	for (i := nbits-1; i >= 0; i--)	{		sys->print("%d", (number >> i)&1);	}}