Programação em C - Overflow e Underflow(Transbordamento) - Aula 67

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

ความคิดเห็น • 14

  • @kommanderkeen
    @kommanderkeen 9 ปีที่แล้ว +9

    Uma coisa: em plataformas, int pode suportar 32 ou 16 bits. Não é o C quem define o tamanho do inteiro (das demais variaveis) mas a arquitetura. O que o C define é a relação de magnitude entre elas (short int será sempre menor e long sempre maior que int). É preciso testar isso ao fazer um programa para que não ocorra problemas.
    Uma forma é usar a biblioteca stdint.h. Pesquisar sobre ela e como ela fornece tipos de tamanhos fixos que facilitam a portabilidade do código.

  • @nattonogueira9721
    @nattonogueira9721 7 ปีที่แล้ว +11

    Achei que seria a aula sobre o programa relacionado a ponteiros que vc disse no final do vídeo 66. Vc chegou a fazer esse vídeo? Obrigado por suas aulas e sucesso aí.

  • @kommanderkeen
    @kommanderkeen 9 ปีที่แล้ว +2

    O que eu percebi é que quando a um estouro, pega-se a quantidade que levou ao "estouro" e volta-se ao menor valor suportado pela variável e, do menor valor, soma-se essa sobra, recursivamente, até retornar um determinado valor. É como um ciclo onde quando o valor excede, volta-se ao inicio e assim sucessivamente até determinar um valor.

  • @TheSamrodrigues
    @TheSamrodrigues 9 ปีที่แล้ว +10

    Meu professor falou semana passa a diferença desses dois. A explicação dele é diferente. Underflow é estouro de memória mais próximo do zero, exemplo, short int 0,000000000000001 (10^-15) e overflow é estouro de memória mais longe do zero, exemplo, short int 1000000000000000 (10^15). E isso serve tanto para valores positivos quanto negativos.

    • @lucasdarianschwendlervieir3714
      @lucasdarianschwendlervieir3714 7 ปีที่แล้ว +2

      vc quer dizer float 0.000000000000001? Porque short int 0000000000000001 da a mesma coisa que short int 1.

  • @Adestudos
    @Adestudos 6 หลายเดือนก่อน

    🎉

  • @comentariodaofensa9582
    @comentariodaofensa9582 6 ปีที่แล้ว

    Porque no laço while eu tenho que passar pro Gancho o valor da variável e não apenas o endereço??? Porque no começo quando a estrutura *struct lista *gancho* foi definida vc passou apenas o endereço &m1 e não o valor.

  • @levi23244
    @levi23244 10 ปีที่แล้ว

    Fácil de entender o/

  • @alanolicheski
    @alanolicheski 8 ปีที่แล้ว

    e se até mesmo com long int, eu "passar" do tamanho? Curiosidade apenas :)

    • @adryeeel
      @adryeeel 3 ปีที่แล้ว

      Long long...

    • @Leoandro2000
      @Leoandro2000 2 ปีที่แล้ว

      @@adryeeel e se long long não der? Tenta fazer um código que imprime 2^3000. No meu só mostra zeros e teoricamente long long deveria dar. Python faz isso na cara dura e em C é um parto.

  • @Adestudos
    @Adestudos 6 หลายเดือนก่อน

    pq alguém usaria short? não é melhor já usar int de cara

    • @jovifsc
      @jovifsc 4 หลายเดือนก่อน +1

      Escovação de bits para economizar memória, imagine que você vai criar uma variável que vai sempre vai receber um valor baixo, você define ela como 'short' e o algoritmo aloca menos bytes na RAM. Economiza espaço e, de certo modo, seu algoritmo executa mais rápido. Nesses exercícios de faculdade, cursinho não faz diferença usar int ou short (na maioria das vezes), mas no mercado de trabalho em GRANDES aplicações isso pode fazer muita diferença; Imagina um jogo pesado como Baldurs Gate 3 que tem 140GB, cada BIT de memória importa.

    • @Adestudos
      @Adestudos 4 หลายเดือนก่อน

      @@jovifsc vlw fera... explicou top demais