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();
}
}
}
Hiç yorum yok :
Yorum Gönder