User account menu

  • Giriş yapın
Anasayfa
Kozmotronik Blog
Yıldız tozundan teknolojiye!

Main navigation

  • Anasayfa
  • Kategoriler
    • Elektronik
    • Programlama
      • Gömülü Programlama
      • Mobil Programlama
    • Programlama Dilleri
  • Seriler
    • Android Bluetooth Programlama
    • JAL Başvuru Kılavuzu
    • Görevci ile Sistem Programlama
  • Projeler
    • Görevci
  • Hakkında

JAL | 2.1. Temel Veri Türleri

Sayfa yolu

  • Anasayfa
  • JAL | 2.1. Temel Veri Türleri
Yazar: İsmail Sahillioğlu | Temmuz 20, 2019
JAL | Temel türler

JAL v2 derleyicisi yalnızca aşağıdaki türleri tanır.

JAL v2 standart veri türleri
TürAçıklamaAralık
BIT11 bit boolean değer0.....1
SBIT11 bit işaretli değer-1.....0
BYTE18 bit işaretsiz değer0.....255
SBYTE18 bit işaretli değer-128.....127
WORD16 bit işaretsiz değer0.....65.535
SWORD16 bit işaretli değer-32.768.....32.767
DWORD32 bit işaretsiz değer0.....4.294.967.295
SDWORD32 bit işaretli değer-2.147.483.648 ..... 2.147.483.647
FLOAT1Kesirli (kayan noktalı) değer+/- 10^-44.....10^38

1Temel türler

En büyük türler, WORD, SWORD, DWORD, SDWORD genişlik belirticisini kullanarak basitçe temel türlerden türetilmiştir. Örneğin WORD, BYTE*2’ye eşittir, sonuncusu yani BYTE*2, biçimlendirici ile diğerinin alternatifi olarak kullanılabilir. İzleyen tanımlama örneklerini inceleyin.

var word     DEGISKEN_A --1 word = 2 byte
var byte*2   DEGISKEN_B --2 byte = 1 word

Verilen örneklerde görüldüğü gibi her iki tanımlama da aslında bellekte aynı yeri kaplar, yani 2 byte. Fakat bize kolaylık olması açısından derleyicinin içinde türetilmiş daha büyük türler kullanılabilir. Bu kod okunaklılığını artıracaktır.

Kesirli sayı (floating point) aritmetiği çoğu 8-bit PIC mikrodenetleyiciler için kod ve veri belleği açısından yüksek bedellidir ve önlenmesi daha iyidir. Çünkü 8-bit PIC mimarisi aritmetik işlemler bakımından zayıf bir donanım yapısına sahiptir. PIC16 modellerinde çarpım ve bölme yapan donanımlar bulunmamakta, PIC18 modellerinde ise yalnızca 8 bit x 8 bit çarpma yapabilen bir donanım bulunur. Bu donanım yetersizliği kesirli işlemlerin 8 bit PIC modellerinde işlenmesini güçleştirir. JAL FLOAT türü IEEE (The Institue of Electrical and Electronics Engineers - Elektrik ve Elektronik Mühendisleri Enstitüsü) standardının 754. maddesi üzerine temellendirilmiştir. Bununla beraber ne istisnalar doğurur, ne de taşma ya da özel sayıları (+/-Sonsuzluk, +/-NaN, -0, vb) işler. Bir kesirli sayı yani FLOAT değeri 4 BYTE ile temsil edilir.

BIT türüyle ilgili bilinmesi gereken bir nokta var. Özgün JAL dilinde, BIT türü daha çok bir boolean gibi davranırdı; 0 atanırsa , saklanan değer sıfır olur, herhangi bir sıfır olmayan değer atanırsa saklanan değer bir olurdu. Bu yöntem JALv2’de hala kullanılır. Nitekim JALv2 ayrıca BIT türlerini daha çok C dilindeki bit alanları gibi anlar. Eğer BIT bir yerine BIT*1 biçimi kullanılırsa, atanan bit değeri uygun bir biçimde maskelenir. Diğer bir deyişle BIT*1 y = z ataması; dahili olarak BIT*1 y = (z & 0x0001) biçimine çevrilir. Dolayısıyla maskeleme işlemi derleyici tarafından gerçekleştirilir.

Öntanımlı daha büyük türler standart genişlikler kullanmasına rağmen (2 ve 4 bayt), dil tarafından dayatılan böyle bir zorunluluk yoktur. Üç byte’lık bir değere ihtiyaç varsa, BYTE*3 tanımlama biçimi kullanılabilir. Tek sınırlayıcı etmen istenen değişken uzunluğunun bir veri bankınıni içine sığmasıdır. BIT ve BYTE farklı yapılardır, bu yüzden BIT*24 değeri tanımlaması, BYTE*3 değeri tanımlamasıyla aynı olmaz!

Manual de referencia
JAL
Lenguajes de programación
Programlama Dilleri
JAL Başvuru Kılavuzu
  • < prev
  • All
  • next >

17 of 34

Sorumluluk Reddi

Bu site bilgilendirme amaçlıdır. Burada sunulan bilgileri, uygulayıcı kendi sorumluluğu altında uygular. Bu bilgilerin uygulanması sırasında ihmal, dikkatsizlik, konuyla ilgili bilgi eksikliği veya yanlış uygulama nedeniyle meydana gelebilecek hasarlardan, can veya mal kaybından, maddi veya fiziksel kayıplardan tamamen uygulayıcı sorumlu olup site ve yazarları sorumlu tutulamaz.

Projects

Görevci

Monthly archive

  • Şubat 2017 (2)
  • Mart 2017 (1)
  • Nisan 2017 (1)
  • Mart 2019 (1)
  • Nisan 2019 (1)
  • Temmuz 2019 (3)
  • Eylül 2019 (1)
  • Ekim 2019 (1)
  • Mart 2020 (1)
  • Ağustos 2020 (3)
Sayfalama
  • Sayfa 1
  • Sonraki sayfa ››

Footer menu

  • İletişim

Copyright © 2026 Kozmotronik Tech - All rights reserved

Kozmotronik Tech