Jump to content

fredericopissarra

Membros
  • Content Count

    173
  • Joined

  • Last visited

Community Reputation

150 Excellent

Personal Information

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. # ip link eth0 set macaddr xx:xx:xx:xx:xx:xx Se o device aceitar... Obtenha a lista de devices com: # ip link
  2. Acredito que a área "Programação" seja adequada. Basta apenas o povo postar suas dúvidas por lá...
  3. Eis um problema simples que surgiu num forum que sigo... O sujeito queria um jeito de obter o campo do expoente de um double sem usar operadores aritméticos, lógicos, "address-of" e indireção, ou seja, os operadores +, -, *, /, %, &, |, ^ ou ~. Se isso fosse permitido, a solução seria tão simples como: #include <stdint.h> /* Estrutura de um 'double' */ struct double_s { uint64_t f:52; unsigned int e:11; unisgned int s:1; }; int getext( double x ) { struct double_s *p = (struct double_s *)&x; return p->e - 1023; }; Existe uma solução simples, usando uma função da libm, basta a chamada para frexp(). Mas, existe também uma solução matemática. Se você quer descobrir um expoente, use logaritmo: Ou seja: int getext( double x ) { return floor(log2(fabs(x))); } A razão do floor é que o expoente de uma estrutura em ponto flutuante marca o início da janela onde a fração se encontra. Para valores menores que 1 o logaritmo lhe dará valores negativos e precisamos do maior valor menor que x. Já que x pode ser negativo (e não estamos interessados no sinal), obter o seu valor absoluto impede de usarmos valores inválidos para o logaritmo. Ambas as soluções com frexp e log2, são lentas (embora frexp seja a mais rápida delas). De qualquer maneira, é um problema trivial... 😉
  4. Acho pouco provável a existência de computadores quânticos nos próximos 25 anos...
  5. Nos idos do início do século XX acreditavam que teríamos carros voadores... 🙂
  6. Sei... MSBuild e PowerShell agora viraram "código aberto"... tá... ok... Aliás... MSBuild, MS Word e PowerShell... código aberto... a-hã! Tá...
  7. No caso, se alguém acha os manuais da Intel "complicados" de consultar e até mesmo contraditórios em alguns pontos. Os manuais da AMD costumam ser melhores: https://developer.amd.com/resources/developer-guides-manuals/
  8. Pois é... isso meio que detona o "aprendizado com foco nas exigências de mercado", não é? Por que tem tanta gente interessada nessas áreas se a "oportunidade de emprego" é tão baixa? A motivação pode ser o sonho de tornar-se um especialista numa área complexa o suficiente para não haver muita competição... o que é louvável... Mas para tanto, a coisa exige MUITO estudo e sem uma tutela padronizada (aulas fomais, diplomas, títulos), ou seja, o sujeito tende a aprender porque gosta da coisa e quer se destacar. Minha opinião (é claro, só pode ser minha! senão não seria opinião!) é que os "caçadores de emprego" tendem a não aprender coisa alguma, ou não o suficiente para fazer qualquer diferença profissional... Existe uma legião de mediocridade "no mercado" e isso é, justamente, o que eles esperam (pouca oferta [de emprego] para grande demanda [de empregados em potencial]) levam a baixas remunerações e carga de trabalho exasperantes. Veja só as exigências de competência dos candidatos. O sujeito só não precisa saber como construir uma máquina de teletransporte usando chiclete, clip de papel e cuspe...
  9. Hummm... ok, então isso ajuda: Ralf Brown Interrupt List
  10. O problema de usar NASM (ou outro assembler) para criar executáveis é que grande parte das bibliotecas padrão e dos compiladores C geram código bem mais otimizado... É uma questão de trocar o tamanho pela performance e vice-versa.
  11. UNIX Network Programming - The Socket Networking API (W. Richard Stevens)
×
×
  • Create New...