19 Mart 2016 Cumartesi

C Sharp Form Uygulamalar Double Bir Sayıyı 8 Byte Dataya Dönüştürme 64 bit Long Dataya Dönüştürme



KONU : C Sharp ( C# ) Form Uygulamalar double tipinde girilen bir sayıyı 64 bit long tipine çevirme, double sayıyı 8 byte data olarak parçalara ayırma, 8 byte olarak verilen bir sayıyı double tipine çevirme, 64 bitlik double sayısını 64 bit long dataya dönüştürme ve 64 bitlik long datayı tekrar double tipine dönüştürme.





UYGULAMAYI İNDİR

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace C_Sharp_Dobule_To_64Bits_64Bits_To_Double
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //Orijinal olarak bir double değer yazalım.

            double doubleValue = 154156.11658785;

            //Double Değeri ekrana yazdıralım

            lblDouble.Text = doubleValue.ToString();

            //Double değeri long 64 bit değere çevirme, bu işlem için bitconveter sınıfı kullanılır

            long longValue = 0;

            longValue = BitConverter.DoubleToInt64Bits(doubleValue);

            //Dönüştürülen 64 bit Değeri ekrana yazdıralım

            lbl64BitLong.Text = longValue.ToString();

            //64 bitlik datayı 8 bitlik byte data olarak ekrana yazdıralım

            byte[] bytes = new byte[8];

            for (int i = 0; i < bytes.Length; i++)
            {
                bytes[i] = (byte)((longValue >> (8 * i)) & 0xFF);

            }

            for (int i = 0; i < bytes.Length; i++)
            {
                lblBytes.Text += string.Format("{0:X2} ",bytes[i]);
            }

            //64 bit long değeri tekrar dobule değer dönüştürme
 
            double createdNumber = BitConverter.ToDouble(bytes, 0);

            // Tekrar oluşturulan double değeri ekran yazdıralım

            lblNewDouble.Text = createdNumber.ToString();
        }
    }
}



UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönder