Programlamanın büyüleyici dünyasında, genellikle karmaşık çözümler gerektiren zorluklar vardır. Cobol kullanan geliştiricilerin karşılaşabileceği zorluklardan biri, onaltılık değerleri sayısal değerlere dönüştürme zorunluluğudur. Bu ilk başta göz korkutucu görünse de, Cobol dilinin tam olarak anlaşılmasıyla görevin yerine getirilmesi nispeten kolay hale gelir.
Çözüme dalalım, ancak bunu yapmadan önce temelleri anlamalıyız. 16 tabanı olarak da bilinen onaltılık sayı, 0'dan 9'a kadar olan rakamları ve 10'dan 15'e kadar olan değerleri temsil eden A'dan F'ye kadar olan harfleri içerir. Bununla birlikte, sayısal bir değer yalnızca sayılarla çalışır.
Çözümü Uygulamak
Onaltılı bir değeri sayısal değere dönüştürmek için belirli Cobol rutinlerini çağırmamız gerekecek. Bu rutinler, onaltılık değerlerin işlenmesine, bunların paketlenmiş ondalık değerler olarak yorumlanmasına ve daha sonra sayısal değerlere dönüştürülmesine yardımcı olur.
TANIMLAMA BÖLÜMÜ.
PROGRAM-ID. HEX2NUM.
VERİ BÖLÜMÜ.
ÇALIŞMA-DEPOLAMA BÖLÜMÜ.
01 HEX-DEĞER PIC X(10) DEĞER '2A'.
01 SAYI-DEĞER RESİM 9(10).
PROSEDÜR BÖLÜMÜ.
NUMARAYA DÖNÜŞTÜR.
HEX-VALUE NUM-VALUE KULLANILARAK 'CBL_HEX_TO_NUM'U ARAYIN
NUM-DEĞER EKRANI
ÇALIŞMAYI DURDURUN.
Bu temel kod dönüştürme sürecini gösterir. 'CBL_HEX_TO_NUM' rutini, onaltılık değeri sayısal değere dönüştüren şeydir.
Kodu Anlamak
Çalışma-Depolama Bölümünde bildirilen hexadecimal değerimiz '2A' CBL_HEX_TO_NUM rutininde işlenecektir.
Prosedür Bölümünde HEX-VALUE'yu alıyoruz ve ardından 'CBL_HEX_TO_NUM' rutinini çağırıyoruz. Bu rutin, NUM-VALUE'da saklanan bir Sayısal değer üreterek dönüştürme işlemini gerçekleştirir.
Son olarak sayısal değeri gösteriyoruz. Bu durumda çıktı, onaltılık '42A'nın eşdeğer ondalık değeri olan '2' olacaktır.
Kitaplıklar ve İşlevler
'CBL_HEX_TO_NUM' kitaplık işlevi bu işlem için özel olarak tasarlanmıştır ve Cobol çalışma zamanı kitaplığının bir parçasıdır.
Bu işlev, onaltılık dizeyi paketlenmiş ondalık değer olarak yorumlar ve ardından onu sayısal bir değere dönüştürür. Farklı sistemlerin benzersiz kitaplıkları olabileceğini anlamak önemlidir ancak konsept genellikle aynı kalır.
Programlamanın zorlukları olsa da, kesinlikle problem çözme ve yaratıcılık için bir yol sağlar. Cobol, diğer birçok üst düzey dil gibi, karmaşık işlemlere izin veren yerleşik işlevlere sahiptir. Geliştirmenin değişken doğasına duyarlıdır ve kodun arkasındaki düşünce sürecine verimlilik katar. Bu verimlilik yalnızca onaltılı sayının sayısal değerlere dönüştürülmesinde belirgin değildir, aynı zamanda programlama deneyiminin kendine özgü bir parçasıdır.
Bu dönüşümleri anlamak, programlama dillerindeki sayısal gösterime ve veri manipülasyonunda kullanılan tekniklere ilişkin daha geniş bir anlayış kazanmaktır. Konu Cobol'un yeteneklerine geldiğinde bu sadece buzdağının görünen kısmı.