Menu
Coddy logo textTech

Negatif Sayılar

Coddy'nin Verilog Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 16 / 90.

Verilog'da negatif sayılar two's complement biçimi kullanılarak gösterilir. Two's complement, hem pozitif hem de negatif sayıları ikili sistemde göstermenin bir yoludur. En anlamlı bit (MSB) işareti belirtir:

  • 0 = pozitif sayı
  • 1 = negatif sayı

İkinin Tümleyenini Hesaplama

Bir sayının ikinin tümleyenini bulmak için:

  1. Pozitif sayıyı ikili sistemde yazın
  2. Tüm bitleri ters çevirin (0, 1 olur; 1, 0 olur)
  3. 1 ekleyin

Örnek: -5'i 4 bitte gösterme

AdımİşlemSonuç
1İkilik sistemde pozitif 50101
2Tüm bitleri ters çevir1010
31 ekle1011

4 bitlik two'nun tümleyeninde -5 <strong>4'b1011</strong>'dir

Verilog'da Negatif Sayıları Yazma

Negatif sayıları ondalık biçimi kullanarak doğrudan yazabilirsiniz:

reg signed [3:0] a;
a = -5;        // Verilog otomatik olarak ikiye tümleyeni kullanır

Boyutlandırılmış ikili sayılar için ikinin tümleyeni değerini yazmalısınız:

a = 4'b1011;   // This is -5 in 4-bit two's complement

İşaretli ve İşaretsiz

Varsayılan olarak Verilog, sayıları işaretsiz olarak ele alır. Negatif sayılarla çalışmak için sinyalleri signed olarak tanımlayın:

reg signed [3:0] negative;   // -8'den 7'ye kadar saklayabilir
reg [3:0] positive;          // 0'dan 15'e kadar saklayabilir

İşaretli Sayıların Aralığı

N bit için işaretli bir sayı şunları ifade edebilir:

  • Minimum: -2^(N-1)
  • Maksimum: 2^(N-1) - 1
BitlerAralık
4 bit-8 - 7
8 bit-128 - 127
16 bit-32768 - 32767

Önemli Notlar

  • Negatif sayıların işlenmesini etkinleştirmek için signed anahtar sözcüğünü kullanın
  • signed olmadan Verilog tüm değerleri pozitif olarak değerlendirir
  • signed kullanıldığında ikinin tümleyeni aritmetiği otomatik olarak çalışır
  • MSB işareti belirler: 1 = negatif, 0 = pozitif
challenge icon

Görev

Doğru ikinin tümleyeni değerlerini yazarak kodu tamamlayın.

Yapılacaklar:

  1. a değişkenini 4 bitlik ikinin tümleyeni ikili gösterimini kullanarak -3 olarak ayarlayın
  2. b değişkenini 4 bitlik ikinin tümleyeni ikili gösterimini kullanarak -8 olarak ayarlayın
  3. c değişkenini 4 bitlik ikinin tümleyeni ikili gösterimini kullanarak -1 olarak ayarlayın

Kendin dene

module negative_challenge;
  reg signed [3:0] a, b, c;
  
  initial begin
    a = 4'b______;   // -3 in 4-bit two's complement
    b = 4'b______;   // -8 in 4-bit two's complement
    c = 4'b______;   // -1 in 4-bit two's complement
    
    $display("a = %d", a);
    $display("b = %d", b);
    $display("c = %d", c);
    $finish;
  end
endmodule
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Online Verilog derleyicisi