.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993, David Metcalfe .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH drand48 3 "8 fevereiro 2026" "Linux man\-pages 6.18" .SH NOME drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 \- gera números pseudo\-randômicos distribuidos uniformemente .SH BIBLIOTECA Biblioteca C Padrão (\fIlibc\fP,\ \fI\-lc\fP) .SH SINOPSE .nf \fB#include \fP .P \fBdouble drand48(void);\fP \fBdouble erand48(unsigned short \fP\fIxsubi\fP\fB[3]);\fP .P \fBlong lrand48(void);\fP \fBlong nrand48(unsigned short \fP\fIxsubi\fP\fB[3]);\fP .P \fBlong mrand48(void);\fP \fBlong jrand48(unsigned short \fP\fIxsubi\fP\fB[3]);\fP .P \fBvoid srand48(long \fP\fIseedval\fP\fB);\fP \fBunsigned short *seed48(unsigned short \fP\fIseed16v\fP\fB[3]);\fP \fBvoid lcong48(unsigned short \fP\fIparam\fP\fB[7]);\fP .fi .P .RS -4 Requisitos de macro de teste de recursos para o glibc (consulte \fBfeature_test_macros\fP(7)): .RE .P .\" .BR drand48 (), .\" .BR erand48 (), .\" .BR lrand48 (), .\" .BR nrand48 (), .\" .BR mrand48 (), .\" .BR jrand48 (), .\" .BR srand48 (), .\" .BR seed48 (), .\" .BR lcong48 (): Todas as funções mostradas acima: .nf _XOPEN_SOURCE || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE .fi .SH DESCRIÇÃO Essas funções geram números pseudo\-randômicos usando o algoritmo de congruência linear e aritmética inteira de 48\-bit. .P As funções \fBdrand48()\fP e \fBerand48()\fP retornam valores de ponto flutuante de dupla precisão n'ao negativos distribuidos uniformemente entre [0.0, 1.0). .P As funções \fBlrand48()\fP e \fBnrand48()\fP retornam inteiros longos não negativos distribuidos uniformemente entre [0,\ 2\[ha]31). .P As funções \fBmrand48()\fP e \fBjrand48()\fP retornam inteiros longos com sinal distribuidos uniformemente entre [\-2\[ha]31,\ 2\[ha]31) .P As funções \fBsrand48\fP(), \fBseed48\fP() e \fBlcong48\fP() são funções de inicialização, as quais deve ser chamadas antes do uso de \fBdrand48\fP(), \fBlrand48\fP() ou \fBmrand49\fP(). As funções \fBerand48\fP(), \fBnrand48\fP() e \fBjrand48\fP() não requerem a chamada da função de inicialização primeiro. .P Todas as funções trabalham gerando uma sequência de inteiros 48\-bit, \fIXi\fP, de acordo com a formula de congruência linear: .P .in +4n .EX \fBXn+1 = (aXn + c) mod m, onde n >= 0\fP .EE .in .P O parâmetro \fIm\fP = 2\[ha]48, portanto uma aritmética de inteiro 48\-bit é realizada.A não ser que \fBlcong48\fP() seja chamada, \fIa\fP e \fIc\fP são obtidos por: .P .in +4n .EX \fBa = 0x5DEECE66D\fP \fBc = 0xB\fP .EE .in .P O valor retornado por qualquer uma das funções \fBdrand48\fP(), \fBerand48\fP(), \fBlrand48\fP(), \fBnrand48\fP(), \fBmrand48\fP() ou \fBjrand48\fP() é computado para primeira geração do próximo 48\-bit \fIXi\fP na sequência. Então, o número apropriado de bits, de acordo com o tipo de item de dado a ser retornado, é copiado dos bits de mais alta ordem de \fIXi\fP e transformado no valor retornado. .P As funções \fBdrand48\fP(), \fBlrand48\fP() e \fBmrand48\fP() armazenam o último 48\-bit \fIXi\fP gerado em um buffer interno. As funções \fBerand48\fP(), \fBnrand48\fP() e \fBjrand48\fP() requerem que o programa chamador providencie armazenamento para os valores sucessivos de \fIXi\fP no argumento vetor \fIxsubi\fP. As funções são inicializadas pela colocação do valor inicial de \fIXi\fP no vetor antes da primeira chamada as funções. .P A função de inicialização \fBsrand48\fP() ajusta os 32\-bits de mais alta ordem de \fIXi\fP para o argumento \fIseedval\fP. Os 16\-bits de mais baixa ordem são ajustados arbitrariamente para o valor 0x330E. .P A função de inicialização \fBseed48\fP() seta o valor de \fIXi\fP para o valor 48\-bit especificado no argumento vetor \fIseed16v\fP. O valor anterior de \fIXi\fP é copiado em um buffer interno e um ponteiro para esse buffer é retornado por \fBseed48\fP(). .P A função de inicialização \fBlcong48\fP() permite ao usuário especificar valores iniciais para \fIXi\fP, \fIa\fP e \fIc\fP. O elemento \fIparam[0\-2]\fP do argumento vetor especifica \fIXi\fP, \fIparam[3\-5]\fP especifica \fIa\fP, e \fIparam[6]\fP especifica \fIc\fP. Após a chamada de \fBlcong48\fP(), uma chamada subsequente a \fBsrand48\fP() ou \fBseed48\fP() irá restaurar os valores padrão de \fIa\fP e \fIc\fP. .SH ATRIBUTOS Para uma explicação dos termos usados nesta seção, consulte \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interface Atributo Valor T{ .na .nh \fBdrand48\fP(), \fBerand48\fP(), \fBlrand48\fP(), \fBnrand48\fP(), \fBmrand48\fP(), \fBjrand48\fP(), \fBsrand48\fP(), \fBseed48\fP(), \fBlcong48\fP() T} Thread safety T{ .na .nh Inseguro para MT race:drand48 T} .TE .P As funções acima registram informações de estado global para o gerador de números aleatórios, portanto, não são seguras para múltiplas threads. .SH PADRÕES POSIX.1\-2008. .SH HISTÓRICO POSIX.1\-2001, SVr4. .SH "VEJA TAMBÉM" \fBrand\fP(3), \fBrandom\fP(3) .PP .SH TRADUÇÃO A tradução para português brasileiro desta página man foi criada por Marcelo D. Beckmann , André Luiz Fassone e Rafael Fontenelle . . .PP Esta tradução é uma documentação livre; leia a .UR https://www.gnu.org/licenses/gpl-3.0.html Licença Pública Geral GNU Versão 3 .UE ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita. .PP Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para .MT debian-l10n-portuguese@lists.debian.org a lista de discussão de tradutores .ME .