Convert Single Precision Floating Point Numbers To IEEE 754 Hex And Back?
Aug 12, 2009Private Function SingleToIEEE754Hex(ByVal pValue As Single) As String
[Code]...
Private Function SingleToIEEE754Hex(ByVal pValue As Single) As String
[Code]...
Follow-Up available: There's a follow-up with further details, see Convert MBF to IEEE.
I've got some legacy data which is still in use, reading the binary files is not the problem, the number format is. All floating point numbers are saved in MBF format (Single and Double). I've found a topic about that on the MSDN boards but that one only deals with Single values. I'd also would like to stay away from API-Calls as far as I can.
Edit: Just in case somebody needs it, here is the VB.NET Code (it's Option Strict compliant) I ended up with (feel free to convert it to C# and edit it in):
''' <summary>Converts a MBF Single to an IEEE Single</summary>
''' <param name="src">The MBF Single value</param>
''' <returns>The converted IEEE Single value</returns>
[Code]...
I'm using Visual Basic 2010 Express to edit an XML file. I want to replace items that have (typically) non-zero floating point numbers with a single zero.
View 4 RepliesIf I try to draw a circle by using e.g.
Code:
e.Graphics.DrawEllipse(Pens.Red, 50.133, 100.321, 0.1, 0.1)
I will get an error message. I tried something like
Code:
Public ObjectPoint As PointF
Dim cpoint As New PointF()
cpoint.ObjectPoint = New PointF(startX, startY)
e.Graphics.DrawEllipse(Pens.Blue, cpoint.ObjectPoint, 0.4, 0.4)
but it didn't work for the location and the circle size. How to draw a circle(and rectangle) by using floating point numbers?
How to determine when floating point limitations will cause errors in your calculations. For example the following code.
CalculateTotalTax = function (TaxRate, TaxFreePrice) {
return ((parseFloat(TaxFreePrice) / 100) * parseFloat(TaxRate)).toFixed(4);
};
I have been unable to input any two values that have caused for me an incorrect result for this method. If I remove the toFixed(4) I can infact see where the calculations start to lose accuracy (somewhere around the 6th decimal place). Having said that though, my understanding of floats is that even small numbers can sometimes fail to be represented or have I misunderstood and can 4 decimal places (for example) always be represented accurately.
MSDN explains floats as such... This means they cannot hold an exact representation of any quantity that is not a binary fraction (of the form k / (2 ^ n) where k and n are integers). Now I assume this applies to all floats (inlcuding those used in javascript). How can one determine if any specific method will be vulnerable to errors in floating point operations, at what precision will those errors materialize and what inputs will be required to produce those errors?
how to get 1.83333333333... to 1.83?
Dim temp_1 As String
temp_1 = 5.50 / 3
Label1.Text = String.Format(temp_1, "{0.00}")
I am receiving a data stream which contains 4 bytes of data which need to be converted to a 32-bit float (IEEE 754). This was easy to do in C as I created a union with a 4-byte array and a 32-bit float. Job done. However I have no idea how to accomplish this in VB (pls note I do not code in VB).
View 3 RepliesI am writing a custom totaling method for a grid view. I am totaling fairly large numbers so I'd like to use a decimal to get the total. The problem is I need to control the maximum length of the total number. To solve this problem I started using float but it doesn't seem to support large enough numbers, I get this in the totals column(1.551538E+07). So is there some formating string I can use in .ToString() to guarentee that I never get more then X characters in the total field? Keep in mind I'm totaling integers and decimals.
View 2 RepliesI've got the following Visual Basic code:
Dim L16, L23, L45, t As Double
Dim LBase, LAdjacent, LOpposite As Double
L16 = 20
[Code].....
Both equations should be equivalent: I've simply replaced L16 with LBase, L23 with LAdjacent and L45 with LOpposite. Yet the first equation outputs 3586 while the second outputs 3587.
I am making the belated transition from VB6 to VB.NET (2008). I would appreciate some guidance on writing arrays to a file. I need to save and load large arrays of 4-byte floats (24 x 90,000 values is not uncommon). I can load or save them using nested for-next loops, but that's quite slow. I'd like to find a single operation that can read or write the binary data.In VB6 I could accomplish this (writing case shown) with Put #1 , , MyArray()I can read and write single variables from binary files without problems in .net. For example, [code]I have looked and looked, and Googled endlessly, but cannot find out how to accomplish a single-line numeric, floating-point array read or write in VB.NET.
View 3 Repliesx = 4.2 - 0.1
vb.net gives 4.1000000000000005
python gives 4.1000000000000005
Excel gives 4.1
Google calc gives 4.1
What is the reason this happens?
I want to use numbers with a precision of hundreds of decimal places.
I know of the BigInteger datatype for ints, but System.Numerics falls short beyond the decimal.
How can I achieve anything beyond a simple Decimal/Double precision in vb.net?
I think this should be a very basic question. Anyways, when trying to run the script:
[Code]...
I get an "invalid floating point operation" error, and the line "c = Log(a+1.0)/(b/2.0)" gets highlighted. Then, without making any changes whatsoever, I run the script again, and it works perfectly, outputting the value 0.2773... How can I fix this, so that it works right the first time?
How do yo convert a 3d point into a 2d point that can be displayed on the screen? This is the basic code that I need:
Dim ScreenXCoord as integer
Dim ScreenYCoord as integer
Private Sub ConvertPoint(PointXCoord as integer, PointYCoord as integer,
[Code[,,,,,
I have a problem which is that Class Big integer Doing a miscalculation
For example: -
5 / 2 = 2.5
With Class
5 / 2 = 2
I want to do to show the numbers after the decimal point (.5)
I want to specify the user to enter only the numbers and decimal point in the text box.[code]values something like that which contain only numbers and dot.This is the code to enter the numbers only.[code]How to make the code to accept dot also?
View 5 RepliesI am trying to restrict the the number of decimal places to two in a textbox.
I've already made it so only numbers and decimals can be added, now this is the only thing that isnt done
Private Sub MoneyTxtxbx(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles _
MoneyTxtbx.KeyPress
[Code]....
I am developing windows application in vb.net, i have textbox which should allow only numbers with decimal point. for example "99.00"
View 6 RepliesI have the following query that should be bringing back a single date, however, it is bringing back the first date in the table, completely ignoring the Where clause.
'Get days pending
Dim AgePC As String
Dim sSQL As String = "SELECT [DateStamp] FROM [Activities] WHERE "
sSQL &= "[ClaimNo] = '" & Me.txtClaimNum.Text & "' AND [Activity] = 'PCAC' OR 'PCTE'"
Dim conn As New System.Data.OleDb.OleDbConnection(sConnectionString)
Dim com As New System.Data.OleDb.OleDbCommand(sSQL, conn)
Try
conn.Open()
[Code] .....
I wanted to know if it's possible - after casting a double to a single, to turn it back into a double again? i tried doing something like:
Dim x_double as double = 12345678.987654321d
Dim x_single as single=x_double
x_doubble=Cdbl(x_single)
but it doesn't give me the original value.
Reverse casting? Single back to Double
View 5 RepliesWhat would be the code to validate a textbox so that it can only accept positive numbers and a decimal point? If no value is entered, it automatically enters 0.
View 1 RepliesintLoginTime = txtLoginTime.Text
intLogoutTime = txtLogoutTime.Text
[CODE]..........
The problem is that the numbers seem to round after the decimal point, so if I entered a login-time of 8.15 and log-out 9.30, instead of showing 1.15 as the difference, it shows '1'. is there a way around this?
I have an assignment that includes some extra credit point by making a calculate button take four numbers, add them together and give a commission. I know what I did works, but I just want to make sure I'm doing it right! Let me know if I did something wrong
[code]Private Sub calculateButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles calculateButton.Click
[Code]...
How I can change the back color of a single cell of a datagridview in runtime?
View 1 RepliesI;m trying to learn from vb 6, and am having trouble with the simplest of things. I got a function that needs a point, im trying to feed it my 2 x and y integers and it can only accept a point. How can i convert my 2 integers into 1 point.
View 2 RepliesI am in a programming class, and am one of the best students in it, I even went to a state programming contest. One of the problems was to enter 6 race times in a Console Application and have it display the times back in order of which were fastest and their place such as
imput
11
15
12
[Code]....
I created a new webbrowser and it's not showing up. I can change the height but when I change the location it says can't convert integer into drawing point. I made sure it's visible and added it in the form.
[Code]....
I'm rather new here (actually just made this account in hopes of getting this question answered. I'm currently attempting to try and get text from a textbox to change the letters to numbers. A weak encryption if you will.Example:jack and jill ran up the hill in numbers would be say j=30 a=20 c=99 d=200 ect
View 2 RepliesI want to know how I can convert string to a point ( {X=150, Y=150} ) I'm having a little trouble figuring this one out.
View 2 Replies