Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8762285
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T15:29:22+00:00 2026-06-13T15:29:22+00:00

I need to be able to convert a C SInt32 integer to a float

  • 0

I need to be able to convert a C SInt32 integer to a float in the range [-1, 1] and back. I’ve seen discussions of this question regarding 24 bit integers:

C/C++ – Convert 24-bit signed integer to float

And I’ve tried something similar:

 // Convert int - float
 SInt32 integer = 1;
 Float32 factor = 1;
 Float32 f = integer / (0x7FFFFFF + 0.5);

 // Perform some processing on the float
 Process(f);

 // Scale the float
 f = f * factor;

 // Convert float - int
 integer = f * (0x7FFFFFF + 0.5);

However this doesn’t work. I know it doesn’t work because the work I’m doing involves audio programming and the conversion causes a hissing sound.

I’m pretty sure it is a conversion problem because when I make the float smaller by setting the factor to 0.0001 the crackling disappears. Maybe the back conversion is putting the int out of it’s limits and is causing it to be truncated.

Any advice would be greatly appreciated.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T15:29:23+00:00Added an answer on June 13, 2026 at 3:29 pm
    const float recip = 1.0 / (32768.0*65536.0);
    // hope that compiler will calculate this in advance
    // From the expression an semi-advanced programmer can also immediately spot
    // where the value comes from
    float value = int_value * recip;
    int value2 = value * (32768.0*65536.0);
    

    The process is not reversible: one can lose up to 7 bits of accuracy.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to be able to convert 8-bit or 16-bit grayscale pixel data into
I need to be able to convert dynamic HTML (html that is rendered on
I need to be able to convert from a Delphi Real48 to C# double.
I need to be able to convert a PDF file to images (one image
I need to be able to convert case in strings, so that Hello becomes
I am writting a VB.Net application. I need to be able to convert either
I need to be able to take EPS and PDF's and convert them to
I need to be able to convert RTF or HTML to Markdown-syntaxed plain text
I need to be able to convert time on an time object I recieve
I need a function by which I will be able to convert a number

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.