Ao executar o dc
utilitário, se eu inserir um número muito grande, diga:
999999999999999999999999999999999999999999999999999999999999999999999
Quando eu imprimo usando p
, recebo:
999999999999999999999999999999999999999999999999999999999999999999999\
999
Por que ele divide a saída após 69 dígitos?
Os terminais são tradicionalmente 80x24 (mais ou menos) e em tal campo de jogo linhas longas que quebram podem ser problemáticas, o que provavelmente explica a tradição unix de quebrar linhas longas e marcar essas linhas enroladas com uma extensão
\
.Este é um limite muito antigo,
dc(1)
na fonte da versão 6 AT&T UNIX contém:(Alguém em retrocomputação pode ser capaz de lhe dizer em detalhes por que longas filas são um problema; pode-se suspeitar que as impressoras de linha naquela época podem não ter um recurso mágico de embrulhar linhas longas, então, para algo imprimir corretamente, seria realmente precisa caber na página...)
Pelo menos para a implementação GNU de
dc
, há um código fixoDEFAULT_LINE_MAX
de 70 caracteres - embora isso possa ser substituído pela configuração de umaDC_LINE_LENGTH
variável de ambiente. Dedc/numeric.c
:Então
mas